2016-09-25 89 views
0

提前致謝。使用Javascript更改表單輸入

我想根據選擇「opciones」的值,在表單中改變輸入文本「total」的值。我嘗試了onchange(),與document.getElementById("")。價值,但它不起作用。

我不知道什麼是失敗,但我不能改變輸入值。

<form name="formulario"> 

     <select name="opciones" id="opciones"> 
             <option>1</option> 
             <option>2</option> 
             <option>3</option> 
            </select> 
        <input type="text" name="suma" id="total"> 
</form> 

的Javascript:

function formtotal() { 

    if (document.formulario.opciones.value = "1") { 

     document.formulario.suma.value = "1000"; 
    } 

    else if (document.formulario.opciones.value = "2") { 

     document.formulario.suma.value = "1250"; 
    } 

    else if (document.formulario.opciones.value = "3") { 

     document.formulario.suma.value = "1500"; 
    } 

} 

回答

0

我想document.formulario.suma.value相反,它應該是document.formulario.total.value

但是,下面的代碼工作正常。在jsfiddle中測試(下面的鏈接)。

function formtotal() { 
    var x = document.getElementById("opciones").value; 
    if (x == "1") { 
     document.getElementById("total").value = "1000"; 
    } 
    else if (x == "2") { 
     document.getElementById("total").value = "1250"; 
    } 
    else if (x == "3") { 
     document.getElementById("total").value = "1500"; 
    } 
} 

平變化來選擇添加標籤按照如下片段:

<select name="opciones" id="opciones" onchange="formtotal()"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select> 

https://jsfiddle.net/fghxhtmk/ - 做工精細。請檢查。

編輯:爲每個選項標籤添加「值」。

+0

我修改了所有你說和它不工作的工作。 –

+0

您可以訪問提供的鏈接:https://jsfiddle.net/fghxhtmk/ –

+0

嗨@PabloBarrios,我錯過了

0

一個明顯的錯誤,我可以看到的是你使用的equality operator document.formulario.opciones.value = "1"

應該

document.formulario.opciones.value == "1"

由於這個原因,你的第一個if語句總是會評估爲真。

+0

我試過了== = =它改變了它並不工作太 –

2

我想你應該嘗試與

let e = document.getElementById("opciones"); 
let total = document.getElementById("total"); 

switch(e.selectedIndex) { 
case 0: 
    total.value = 1000; 
    break; 
case 1: 
    total.value = 1250; 
    break; 
case 2: 
    total.value = 1500; 
    break; 
default: 
    total.value = 0; 
} 
+1

+1使用switch語句,這是一個更乾淨的方法,並允許你處理'默認'的情況下,當一些白癡去,並編輯下拉菜單,而不更新Javascript。 – Basic