2017-10-31 13 views
0

私はウィジェットのための簡単なオンライン注文フォームを書いています。これは3ウィジェットの注文を受け取り、一緒に追加して総数とコストを提示するものとします。ただし、ボタンをクリックして関数に入ると、何も起こりません。私は、関数にデータを渡すか、関数からデータを取り出すことに誤りがあるかどうかはわかりません。JavaScript関数がフォームデータを取得/設定していない

function cal() { 
 
    var wid1 = document.getElementById("widg1").value; 
 
    var wid2 = document.getElementById("widg2").value; 
 
    var wid3 = document.getElementById("widg3").value; 
 
    var tot = (wid1 + wid2 + wid3); 
 
    var dollars = ((wid1 * 12.45) + (wid2 * 15.34) + (wid3 * 28.99)); 
 
    document.getElementByName("total").value = tot; 
 
    document.getElementByName("money").value = dollars; 
 
}
<form name="widgets"> 
 
    widget model 37AX-L:<br> 
 
    <input type="text" id="widg1" name="37AX-L" value=0><br> widget model 42XR-J:<br> 
 
    <input type="text" id="widg2" name="42XR-J" value=0><br> widget model 93ZZ-A:<br> 
 
    <input type="text" id="widg3" name="93ZZ-A" value=0><br> 
 
    <br> 
 
    <input type="button" name="B1" value="Calculate" onclick="cal()"><br> 
 
</form> 
 
<input type="text" name="total" id="total"> total widgets <br> 
 
<input type="text" name="money" id="money"> total dollars

+0

何の関数 'getElementByName'はありません、' getElementsByName'でなければなりません。 –

答えて

0

あなたはElementsでSを省略。

document.getElementsByName("total")[0].value=totないdocument.getElementByName("total")

<form name="widgets"> 
 
    widget model 37AX-L:<br> 
 
    <input type="text" id="widg1" name="37AX-L" value=0><br> 
 
    widget model 42XR-J:<br> 
 
    <input type="text" id="widg2" name="42XR-J" value=0><br> 
 
    widget model 93ZZ-A:<br> 
 
    <input type="text" id="widg3" name="93ZZ-A" value=0><br> 
 
    <br> 
 
    <input type="button" name="B1" value="Calculate" onclick="cal()"><br> 
 
    </form> 
 
    <input type="text" name="total" id="total"> total widgets <br> 
 
    <input type="text" name="money" id="money"> total dollars 
 
<script> 
 
    function cal(){ 
 
     var wid1 = document.getElementById("widg1").value; 
 
     var wid2 = document.getElementById("widg2").value; 
 
     var wid3 = document.getElementById("widg3").value; 
 
     var tot = (wid1+wid2+wid3); 
 
     var dollars = ((wid1*12.45)+(wid2*15.34)+(wid3*28.99)); 
 
     document.getElementsByName("total")[0].value=tot; 
 
     document.getElementsByName("money")[0].value=dollars; 
 
    } 
 
</script>

関連する問題