2017-06-11 16 views
1

フォームから取得した情報を送信ボタンで処理し、少し処理してウェブページに出力して、送信されないようにしようとしています(return false)を含めることによってWebサーバー。ここで私はHTML Javascriptのインクルージョンに問題があります

がページにコードです:最初のページ

<html> 
<head> 
<title>SmithSellsStuff</title> 

</head> 



<body> 
<a href="week1-1.html">I'm too cheap to buy something nice</a> 

<script> 

    var myData = { 
     price: "4.25", 
     taxRate: "0.07", 
     shipRate: "0.02" 
    }; 
    myData.calculateTotal = function() { 
     myData.name = document.getElementById("name"); 
     myData.date = document.getElementById("date"); 
     myData.numItems = document.getElementById("number of items"); 
     var itemTotal = myData.numItems * myData.price; 
     var taxTotal = (myData.numItems * myData.price) * myData.taxRate; 
     var shipTotal = (myData.numItems * myData.price) * myData.shipRate; 
     document.writeln(itemTotal); 
     document.writeln(taxTotal); 
     document.writeln(shipTotal); 

    }; 
</script> 
<form> 
    </p> 
    <label>Name: <input type="text" name="name" id="name" tabindex="1"/>    </label> 
    </p> 
    <label>Delivery Date: <input type="date" name="date" id="date" tabindex="2"/></label> 
    </p> 
    <label>Number of items: <input type="number" name="number of items" id="number of items" tabindex="3"/></label> 
    </p> 
    <input type="submit" onclick="calculateTotal(); return false;"/> 
</form> 
    </body> 
    </html> 

、私は名のフィールドを持つ単純なフォーム、日付、アイテムの数は合計し、送信ボタンを持っています。私が取得しているエラーの1つはonclickタグです。 '_kof_1'は定義されていますが使用されていないと言います。私はcalculateTotal関数を呼び出しているとは思わない。

+2

役立つ 'myData.calculateTotal'は' calculateTotal'と同じではありません。 – PHPglue

+1

このページの読み込み中に、多くのエラーが発生すると思います。 'myData.calculateTotal = function'を' var calculateTotal = function'で変更してみてください – RaphaMex

+0

よろしくお願いします!素晴らしいニュース!私は今、フィードバックを得ています。ページをロードし、ヌル値を表示します。今私の価値観が人口に占められていない理由を知る必要があります。 –

答えて

1

グローバルスコープでは関数が宣言されていませんが、というプロパティではmyDataであるためです。あなたがテキストフィールドから名前、日付、および項目の数を取得したいために、あなたが取得する必要があり、

さらに
<input type="submit" onclick="myData.calculateTotal(); return false;"/> 

:単純に呼び出しを変更、この問題を解決するには

myData.calculateTotal = function() { 

myData.name = document.getElementById("name").value; 
myData.date = document.getElementById("date").value; 
myData.numItems = parseInt(document.getElementById("number of items").value); 
0

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Insert title here</title> 
 
</head> 
 
<body> 
 
<a href="week1-1.html">I'm too cheap to buy something nice</a> 
 

 
<script> 
 

 
function calculateTotal() 
 
{ 
 
\t alert("hai"); 
 
\t var price="4.25"; 
 
\t var taxRate="0.07"; 
 
\t var shipRate="0.02"; 
 
\t var name = document.getElementById("name"); 
 
    var date = document.getElementById("date"); 
 
    var numItems = document.getElementById("number_of_items").value; 
 
    alert(numItems); 
 
    var itemTotal = numItems * price; 
 
    var taxTotal = (numItems * price) * taxRate; 
 
    var shipTotal = (numItems * price) * shipRate; 
 
    document.writeln("Total Items:"+itemTotal+"\tTax :"+taxTotal+"\tshipTotal:"+shipTotal); 
 
    
 
\t 
 
\t } 
 
    </script> 
 
<form> 
 
    <p> 
 
    <label>Name: <input type="text" name="name" id="name" tabindex="1"/>    </label> 
 
    </p> 
 
    <label>Delivery Date: <input type="date" name="date" id="date" tabindex="2"/></label> 
 
    <p> 
 
    <label>Number of items: <input type="number" name="number_of_items" id="number_of_items" tabindex="10"/></label> 
 
    </p> 
 
    <input type="submit" onclick="calculateTotal()"/> 
 
</form> 
 
    </body> 
 

 
</html>
:そうのように、入力フィールドの内容を取得する .valueプロパティ

アラートはメソッドがコールするか、されていません知っているだけのためである、希望はこれはあなた

関連する問題