Autor Zpráva
zwitter
Profil
Dobrý den
Potřeboval bych poradit s timhle scriptem.V nejnovějších prohlížečích funguje v pohodě ale např. v exploeru 6 nefunguje potřebuju co přepsat aby fungoval i v starších prohlížečích.


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=Windows-1250">
<meta http-equiv="Content-Language" content="cs">
<style>
table{border:grey solid 1px;border-radius:10px;padding:15px;margin:15px;}
td{padding-left:15px;}
input, select{width:220px;}
#t_output{font-weight:bold;}
#tr_hidden{display:none;}
span{color:red;}
</style>
<script>
function recalc(){
var obj_out=document.getElementById("t_output");
obj_out.innerHTML="";
var kms=document.getElementById("i_kms").value;
var discount=document.getElementById("s_discount").value;
var count=document.getElementById("i_count").value;
if(isNaN(kms) || kms<=0 || (discount==4 && (isNaN(count) || count<4))){
obj_out.innerHTML="<span>Vyskytla se chyba.</span>";
return;
}
var cost_per_km;
if(kms<10){
cost_per_km=2;
}else if(kms<20){
cost_per_km=1.8;
}else if(kms<40){
cost_per_km=1.6;
}else if(kms<80){
cost_per_km=1.3;
}else if(kms<=150){
cost_per_km=1;
}else{
cost_per_km=0.8;
}
var res=kms*cost_per_km;
switch(discount*1){
default:break;
case 1:res*=0.8;break;
case 2:res*=0.8*2;break;
case 3:res*=0.7*3;break;
case 4:res*=0.6*count;break;
}
obj_out.innerHTML=Math.round(res)+" Kč";
return;
}
</script>
<title></title>
<p><h3><a href="index.html">zpět na stránky</a></h3></p>
</head>
<body>
<table>
<tr>
<td>
Počet kilometrů
</td>
<td>
<input type="text" name=i_kms id="i_kms" value="">
</td>
</tr>
<tr>
<td>
Druhy slevy
</td>
<td>
<select id="s_discount">
<option value=0>Beze slevy</option>
<option value=1>Zákaznické jízdné (-20%)</option>
<option value=2>Skupinová pro dva (-20%)</option>
<option value=3>Skupinová pro tři (-30%)</option>
<option value=4>Skupinová pro čtyři a více (-40%)</option>
</select>
</td>
</tr>
<tr>
<td>
Počet osob<br>(Jen v případě využití 40% slevy)
</td>
<td>
<input type=text id=i_count>
</td>
</tr>
<tr>
<td>
Cena:
</td>
<td id="t_output">
</td>
</tr>
<tr>
<td></td>
<td>
<button onclick="recalc();">Přepočítat</button>
</td>
</tr>
</table>
</body>
</html>
_es
Profil
zwitter:
IE má vraj problém s vlastnosťou innerHTML v tabuľkách, skús si to pohľadať.
zwitter
Profil
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=Windows-1250">
        <meta http-equiv="Content-Language" content="cs">
        <style>
            table{border:grey solid 1px;border-radius:10px;padding:15px;margin:15px;}
            td{padding-left:15px;}
            input, select{width:220px;}
            #t_output{font-weight:bold;}
            #tr_hidden{display:none;}
            span{color:red;}
        </style>        
        <script>
            function recalc(){
                var obj_out=document.getElementById("t_output");
                obj_out.innerHTML="";
                var kms=document.getElementById("i_kms").value;
                var discount=document.getElementById("s_discount").value;
                var count=document.getElementById("i_count").value;
                if(isNaN(kms) || kms<=0 || (discount==4 && (isNaN(count) || count<4))){
                    obj_out.innerHTML="<span>Vyskytla se chyba.</span>";
                    return;
                }
                var cost_per_km;
                if(kms<10){
                    cost_per_km=2;
                }else if(kms<20){
                    cost_per_km=1.8;
                }else if(kms<40){
                    cost_per_km=1.6;
                }else if(kms<80){
                    cost_per_km=1.3;
                }else if(kms<=150){
                    cost_per_km=1;
                }else{
                    cost_per_km=0.8;
                }
                var res=kms*cost_per_km;
                switch(discount*1){
                    default:break;
                    case 1:res*=0.8;break;
                    case 2:res*=0.8*2;break;
                    case 3:res*=0.7*3;break;
                    case 4:res*=0.6*count;break;
                }
                obj_out.innerHTML=Math.round(res)+" Kč";
                return;
            }
        </script>
        <title></title>
           <p><h3><a href="index.html">zpět na stránky</a></h3></p>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    Počet kilometrů
                </td>
                <td>
                    <input type="text" name=i_kms id="i_kms" value="">
                </td>
            </tr>
            <tr>
                <td>
                    Druhy slevy
                </td>
                <td>
                    <select id="s_discount">
                        <option value=0>Beze slevy</option>
                        <option value=1>Zákaznické jízdné (-20%)</option>
                        <option value=2>Skupinová pro dva (-20%)</option>
                        <option value=3>Skupinová pro tři (-30%)</option>
                        <option value=4>Skupinová pro čtyři a více (-40%)</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>
                    Počet osob<br>(Jen v případě využití 40% slevy)
                </td>
                <td>
                    <input type=text id=i_count>
                </td>
            </tr>
            <tr>
                <td>
                    Cena:
                </td>
                <td id="t_output">                
                </td>
            </tr>
            <tr>
                <td></td>
                <td>
                    <button onclick="recalc();">Přepočítat</button>
                </td>
            </tr>
        </table>
    </body>
</html>

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0