4

こんにちはimnewと学習javascript。

テキストフィールドで足し算のプログラムを作ろうとしています。

jsfiddlehttp : //jsfiddle.net/fCXMt/のhtmlコードを確認してください

私が知る必要があるのは、テキストフィールドでのユーザー入力とPタグでの表示出力をどのように受け入れることができるかです。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>untitled</title>
</head>
<body>
<input id="value1" type="text" />
<span> + </span>
<input id="value2" type="text" />
<input type="submit" onclick="output();">
<p id="result"> </p>

<script type="text/javascript" language="javascript" charset="utf-8">
var value1 = document.getElementById('value1').innerHTML;
var value2 = document.getElementById('value2').innerHTML;

function output(){
    document.getElementById('result').innerHTML = value1 + value2;
}

</script>
</body>
</html>
4

6 に答える 6

3

ボタンをクリックした後、入力フィールドの値を取得し、valueプロパティ(innerHTMLではなく)を使用して取得する必要があります。また、数字を追加し、文字列を一緒に追加しないようにしてください。これを試して:

function output(){
    var value1 = document.getElementById('value1').value;
    var value2 = document.getElementById('value2').value;

    document.getElementById('result').innerHTML = parseInt(value1) + parseInt(value2);
}
于 2011-06-18T11:52:33.150 に答える
2

テキストボックスの値を取得するためのプロパティはvalue、ではなくinnerHTML、なので、それらを変更します。また、テキストボックスの値をevalまたはparseIntで使用する必要があります。そうしないと、文字列として連結されます。

また、関数内で変数宣言を移動する必要があります。これにより、関数が呼び出されたときに、テキストボックスから現在の値が取得されます。

ここで更新フィドルを参照してください。

于 2011-06-18T11:54:19.923 に答える
1

入力フィールドの「value」プロパティにアクセスし、それらを整数として解析する必要があります。

var value1 = parseInt(document.getElementById('value1').value);
var value2 = parseInt(document.getElementById('value2').value);
于 2011-06-18T11:54:22.233 に答える
1

値を読み取るのは1回だけです。出力関数で読み取る必要があります。文字列を使用すると1+4が14になるため、これらも整数に解析する必要があります。より良いかもしれませんが、これはうまくいくはずです。

<script type="text/javascript" language="javascript" charset="utf-8">

function output(){
    var value1 = parseInt(document.getElementById('value1').value);
    var value2 = parseInt(document.getElementById('value2').value);
    document.getElementById('result').innerHTML = value1 + value2;
}

</script>
于 2011-06-18T11:54:53.107 に答える
1

完全を期すために:スクリプトの方が優れている可能性があります。あなたのフォームに基づいて、私は別のjsfiddleの例を作成しました。

于 2011-06-18T13:36:38.973 に答える
0

値を取得している間、1を掛けるだけで、値が数値に解析されます

const value1 = document.getElementById('value1').innerHTML.value * 1;
const value2 = document.getElementById('value2').innerHTML.value * 1;
document.getElementById('result').innerHTML = value1 + value2;
于 2018-03-30T19:48:18.497 に答える