JS HTML条件if else或switch

时间:2014-09-23 17:35:46

标签: javascript html

你好,我看到了帖子,我构建了这段代码......但它不起作用...... 我有收音机和日期之间的差异 我想做的是"如果检查无线电号码1并且天数在0和1之间,则变量中写的价格是= 40","如果无线电号码1是检查,如果天数在2到3之间,则变量中写入的价格为= 37"依此类推。 我尝试使用if else和switch但它不起作用告诉我你知道什么? 这是工作示例,不会根据天http://www.motoeshopping.com/noleggio.php更改价格 致谢

HTML

<form action="prenotaa.php" name="modpren" id="modpren" method="post">
<br/>
  <label for="from">Dal</label>
  <input type="text" id="from" name="from"  onChange="startEndDate(); calcolo();"> 
  al
  <label for="to"></label>
  <input type="text" id="to" name="to" onChange="startEndDate(); calcolo();">
<br/><br/>

Seleziona i veicoli di cui richiedere la disponibilità<br/>
    <input type="radio" name="veicoli" value="46" onClick="calcolo();" id="v1"/>
    FIAT GRANDE PUNTO 1.3 DIESEL <br/>
   <input type="radio" name="veicoli" value="55" onClick="calcolo();" id="v2"/>
   PEUGEOT 208 1.4 DIESEL  <br/>
   <input type="radio" name="veicoli" value="36" onClick="calcolo();" id="v3"/>
   FIAT PANDA 1.2 BENZINA <br/>
   <input type="radio" name="veicoli" value="55" onClick="calcolo();" id="v4"/>
   FIAT SEDICI 1.9 DIESEL  <br/>
   <input type="radio" name="veicoli" value="40" onClick="calcolo();" id="v5"/>
   HYUNDAI I 10 1.1 BENZINA<br/>
   <input type="radio" name="veicoli" value="38" onClick="calcolo();" id="v6"/>
   TOYOTA AYGO 1.0 BENZINA  <br/>
   <input type="radio" name="veicoli" value="38" onClick="calcolo();" id="v7"/>
   NISSAN MICRA 1.2 BENZINA <br/>
   <input type="radio" name="veicoli" value="55" onClick="calcolo();" id="v8"/>
   MULTIPLA 1.9 DIESEL   <br/>
   <input type="radio" name="veicoli" value="36" onClick="calcolo();" id="v9"/>
   SCOOTER APRILIA ATLANTIC - 125 <br/>
   <input type="radio" name="veicoli" value="36" onClick="calcolo();" id="v10"/>
   SCOOTER SUZUKI UH 125 <br/>
   <input type="radio" name="veicoli" value="75" onClick="calcolo();" id="v11"/>
   HONDA TRANSALP 650 <br/>
   <input type="radio" name="veicoli" value="95" onClick="calcolo();" id="v12"/>
   PULLMINO 9 POSTI FORD TRANSIT 2.2 DIESEL <br/>
   <input type="radio" name="veicoli" value="95" onClick="calcolo();" id="v13"/>
   PULMINO 9 POSTI NISSAN PRIMASTAR 2.5 DIESEL<br/>
   <input type="radio" name="veicoli" value="95" onClick="calcolo();" id="v14"/>
   FURGONE TRASPORTO MERCI - DUCATO MAXI 2.3 DIESEL<br/><br/>

   <input type="radio" name="km" value="10" id="km_0" onClick="calcolo();">
 Km Illimitati 
 <input type="radio" name="km" value="0" id="km_1" onClick="calcolo();">
 100km inclusi</p>

 <br/>Servizi aggiuntivi<br/>


<input type="checkbox" name="ass[]" value="Furto-Incendio" >
Assicurazione Furto/Incendio 
<input type="checkbox" name="ass[]" value="Casco" >
Casco

<br/><br/>

Calcolo preventivo <br/>
Giorni<input type="number" name="giorni" id="giorni" value=""  > &nbsp;

Veicolo €<input type="number" name="checkveicoli" id="checkveicoli" value=""  required readonly>&nbsp;

Km €<input type="number" name="checkkm" id="checkkm" value=""  required readonly><br/><br/>
Totale: €<input type="number" name="totalesomma" id="totalesomma" value="" class="number1" readonly ><br/><br/>

Nome e Cognome
<input type="text" id="nome" name="nome">
Numero di Tel.
<input type="text" id="tel" name="tel"></p><br/>e-mail
<input type="text" id="email" name="email"></p>

<input type="submit" value="Invia">
</form>

方法1 if else

<script type="text/javascript">
if (veicoli[v1].checked==true && document.modpren.giorni.value >=0 && document.modpren.giorni.value <=1) { document.modpren.checkveicoli.value=40; }

else if (veicoli[v1].checked==true && document.modpren.giorni.value >=2 && document.modpren.giorni.value <=3) {document.modpren.checkveicoli.value=37;}

else if (veicoli[v1].checked==true && document.modpren.giorni.value >=4 && document.modpren.giorni.value <=6){document.modpren.checkveicoli.value=35;}

else if (veicoli[v1].checked==true && document.modpren.giorni.value >=7 && document.modpren.giorni.value <=14){document.modpren.checkveicoli.value=33;}

else if (veicoli[v1].checked==true && document.modpren.giorni.value >=15 && document.modpren.giorni.value <=29){document.modpren.checkveicoli.value=30;}

else if(veicoli[v1].checked==true && document.modpren.giorni.value >=30){document.modpren.checkveicoli.value=27;}

else {modpren.checkveicoli.value=50;}

</script>

方法2切换

switch (veicoliparz=40){
    case (document.modpren.giorni.value >=0 && document.modpren.giorni.value <=1):
    document.modpren.checkveicoli.value=40;
    break;

    case (document.modpren.giorni.value >=2 && document.modpren.giorni.value <=3):
    document.modpren.checkveicoli.value=37;
    break;

    case (document.modpren.giorni.value >=4 && document.modpren.giorni.value <=6):
    document.modpren.checkveicoli.value=35;
    break;

    case (document.modpren.giorni.value >=7 && document.modpren.giorni.value <=14):
    document.modpren.checkveicoli.value=33;
    break;

    case (document.modpren.giorni.value >=15 && document.modpren.giorni.value <=29):
    document.modpren.checkveicoli.value=30;
    break;

    case (document.modpren.giorni.value >=30):
    document.modpren.checkveicoli.value=27;
    break;
    }

1 个答案:

答案 0 :(得分:0)

您没有正确处理输入字段。

检索输入元素(没有jQuery)的正确方法是使用document.getElementById: https://developer.mozilla.org/en-US/docs/Web/API/document.getElementById

因此,您应该说document.modpren.giorni.value;

而不是document.getElementById("giorni")

这是一个小提琴,展示了你应该如何检索你的价值观: http://jsfiddle.net/q066gkk5/

我还为&#34; giorni&#34;添加了一个onchange处理程序。选择框以便您的总数正确更新。 请注意,你不应该在html标签上附加事件处理程序 - 而是通过JS - 你可以在这里阅读:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener