Autor | Zpráva | ||
---|---|---|---|
pcborec Profil * |
#1 · Zasláno: 5. 3. 2007, 22:03:14
http://www.pc.borec.cz/minibike/objednavka.php mam tu formulař ktery ze souboru načte typ motorky, cenu a ke každemu typu aktualni barvy.. ve firefoxu to funguje ale v IE mi ty barvy nenaskakujou.
věděl by někdo? tady je kod formulaře: <?php // načtení souboru s nabídkou $nabidka=file('nabidka/nabidka.txt'); $motorky=array(); // vybrakování dat foreach($nabidka as $line) { $line=rtrim($line); if(preg_match('/(.+) ((d+),-)/',$line,$mt)) { $motorky[]=array($mt[1],$mt[2],array()); }elseif(preg_match('/s+(.+)/',$line,$mt)){ $motorky[sizeof($motorky)-1][2][]=$mt[1]; } } ?> <script type="text/javascript"> var minfo=new Array(); <?php foreach($motorky as $i=>$data) { echo 'minfo['.($i+1).']=new Array('.$data[1].',"'.'<option>'.implode('</option><option>',$data[2]) .'</option>'.'");'." "; } ?> // IsNumeric function by Jeff Anderson, http://www.codetoad.com/javascript/isnumeric.asp function IsNumeric(sText) { var ValidChars = "0123456789"; var IsNumber=true; var Char; for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber; } function setColor(select) { if(select.selectedIndex==0) return; document.getElementById('barva').innerHTML=minfo[select.selectedIndex ][1]; } function calc() { if(document.getElementById('model').selectedIndex>0) { var moto=minfo[document.getElementById('model').selectedIndex][0]; var kusu=document.getElementById('pocet_kusu').value; var cena; if(kusu.length>0 && IsNumeric(kusu) && kusu>0) { cena=moto*kusu; if(document.getElementById('doprava').selectedIndex==0) { if(kusu>=2) document.getElementById('cost_move').innerHTML=kusu*130; else document.getElementById('cost_move').innerHTML=kusu*180; }else document.getElementById('cost_move').innerHTML=0; if(kusu>=3) cena-=kusu*150; document.getElementById('cost').innerHTML=cena; }else document.getElementById('cost').innerHTML='0'; }else document.getElementById('cost').innerHTML='0'; document.getElementById('cena_celkem').innerHTML=( document.getElementById('cost').innerHTML-(-document.getElementById('c ost_move').innerHTML)); document.getElementById('cena_celkem2').value=( document.getElementById('cost').innerHTML-(-document.getElementById('c ost_move').innerHTML)); document.getElementById('cena_zbozi2').value=document.getElementById(' cost').innerHTML; document.getElementById('cena_posty2').value=document.getElementById(' cost_move').innerHTML; } </script> <form action="post.php" method="post" name="formular"> <p align="left"> <b>Typ:</b><br> <select name="Model" class="form" id="model" onchange="setColor(this);calc();"> <option value="Nop">=== Model ===</option> <?php foreach($motorky as $data) { echo '<option>'.$data[0].'</option>'; } ?> </select> Model <b><font color="#FF0000">*</font></b><br> <input name="Pocet_kusu" size="10" maxlength="5" class="form" type="text" id="pocet_kusu" onchange="calc();"> Počet kusů <b><font color="#FF0000">*</font></b><br> <select name="Barva" class="form" id="barva"> </select> Barva <b><font color="#FF0000">*</font></b> <br> <b>Adresa:</b><br> <input name="Jmeno" size="20" maxlength="100" type="text"> Jméno a příjmení <b><font color="#FF0000">*</font></b><br> <input name="Adresa" size="20" maxlength="100" type="text"> Adresa<b><font color="#FF0000">*</font></b><br> <input name="Mesto" size="20" maxlength="100" type="text"> Město<b><font color="#FF0000">*</font></b><br> <input name="Psc" size="20" maxlength="100" type="text"> PSČ<b><font color="#FF0000">*</font></b><br> <input name="Telefon" size="20" maxlength="100" type="text"> Telefon<b><font color="#FF0000">*</font></b><br> <input name="Email" size="20" maxlength="100" type="text"> E-mail<b><font color="#FF0000">*</font></b><br> <b>Doprava:</b><br> <select name="Doprava" class="form" id="doprava" onchange="calc();"> <option value="Posta">Česká pošta (obchodní balík)</option> <option value="osobne">Osobně</option> </select><br><b> Přejete si potvrzení objednávky:</b><br> <input name="Potvrzeni_telefon" value="ano" type="checkbox"> Telefonicky <input name="Potvrzeni_email" value="ano" type="checkbox"> E-mailem<br> <b>Upřesňující informace:</b><br> <textarea cols="40" rows="3" name="Upresnujici_informace" wrap="hard"></textarea><br> <br> Cena celkem za zboží: <b> <span id="cost">0</span>,- Kč </b> <br /> Cena celkem za dopravu: <b> <span id="cost_move">0</span>,- Kč </b> <br> Cena celkem: <b> <font color="#ff0000"><span style="font-size: 11pt;"><span id="cena_celkem">0</span>,- Kč</span> </font> </b> <br /> <input name="cena_celkem" id="cena_celkem2" type="hidden" value="cena_celkem" /> <input name="cena_posty" id="cena_posty2" type="hidden" value="cost_move" /> <input name="cena_zbozi" id="cena_zbozi2"type="hidden" value="cost" /> <input value="Odeslat" class="form" onclick="return Check ()" type="submit"> </form></div> <?php if(isset($_GET['moto'])) { echo '<script type="text/javascript"> document.getElementById("model").selectedIndex='.intval($_GET['moto']+ 1).'; document.getElementById("pocet_kusu").value="'.intval($_GET['pocet_kus u']).'"; document.getElementById("model").onchange(); document.getElementById("barva").selectedIndex='.intval($_GET['barva'] ).'; </script>'; } ?> |
||
HonzaH2 Profil |
#2 · Zasláno: 6. 3. 2007, 01:39:10
no já nevím, ale když vyberu model, tak se mi ty barvy nabídnou jak v FF, tak v IE, takže bych řekl, že to funguje. Máš v IE zapnutý javaskript? :o)
|
||
TomC Profil |
#3 · Zasláno: 6. 3. 2007, 01:54:57
mně to taky funguje - IE 6.0, WinXP. I když máš JS zapnutý, je třeba možné, že ti ty JS cosi filtruje - nějaké šikovné anibannerové udělátko třeba...
|
||
pcborec Profil * |
#4 · Zasláno: 6. 3. 2007, 09:04:13
opraveno, proto to už asi jde :)
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0