Autor Zpráva
pcborec
Profil *
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>&nbsp;&nbsp;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();">&nbsp;&nbsp;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">&nbsp;&nbsp; Jméno a příjmení <b><font color="#FF0000">*</font></b><br>
<input name="Adresa" size="20" maxlength="100" type="text">&nbsp;&nbsp; Adresa<b><font color="#FF0000">*</font></b><br>
<input name="Mesto" size="20" maxlength="100" type="text">&nbsp;&nbsp; Město<b><font color="#FF0000">*</font></b><br>
<input name="Psc" size="20" maxlength="100" type="text">&nbsp;&nbsp; PSČ<b><font color="#FF0000">*</font></b><br>
<input name="Telefon" size="20" maxlength="100" type="text">&nbsp;&nbsp; Telefon<b><font color="#FF0000">*</font></b><br>
<input name="Email" size="20" maxlength="100" type="text">&nbsp;&nbsp; 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&nbsp;&nbsp;&nbsp;
<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
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
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 *
opraveno, proto to už asi jde :)
Toto téma je uzamčeno. Odpověď nelze zaslat.