2017-12-12 13 views
1

私はJavascriptを初めて使用しています。私は、私のフォームの1つで入力を変数としてデータとして使用しようとしています。私は 'getElementbyName'を使用して、宣言された変数にデータを割り当てようとしています。しかし、それは通過していないようです。フォーム内の数値入力を変数データとして使用する方法は?

<h3> 
    <u>Enter Details Below</u>   
</h3> 

<form> 
    Enter salary base pay:&nbsp <input type=''text' name='Basic ' /> 
</form> 
<br /> 
<button onclick='myfunc()'>Submit</button> 

<p id='demo'></p> 

<script> 
    function myfunc() { 
    var a = document.getElementByName('Basic').value; 
     document.getElementById("demo").innerHTML = (a); 
    } 
</script> 
+0

はあなたのコンソールをチェックしてください。 –

+0

'getElementsByName'が適切なメソッドです。[ここをクリック](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName) –

答えて

0

更新済み - 要求通りに入力属性と名前属性を使用するように更新されました。

function myfunc() { 
 
\t var a = document.querySelector('input[name="Basic"]').value; 
 
    document.getElementById("demo").innerHTML = (a); 
 
}
<h3> 
 
<u>Enter Details Below</u>   
 
</h3> 
 

 
<form> 
 
Enter salary base pay:&nbsp <input type='text' id="basic" name='Basic' /> 
 
</form> 
 
<br /> 
 
<button onclick='myfunc()'>Submit</button> 
 

 
<p id='demo'></p>

+0

[querySelector]に[id]属性が必要ですかその機能を使用するために存在するか? ['Name']属性では動作しませんか? – Sushruth

+0

IDの代わりに入力と属性名を使用して、私の更新された回答をご覧ください。 – SWC

0

あなたはgetElementsByNameを使用し、その最初の結果を取得する必要があります。また、あなたのname属性に余分なスペースがありました。

function myfunc() { 
 
    var a = document.getElementsByName('Basic')[0].value; 
 
    document.getElementById("demo").innerHTML = (a); 
 
}
<h3> 
 
    <u>Enter Details Below</u> 
 
</h3> 
 

 
<form> 
 
    Enter salary base pay:&nbsp 
 
    <input type='text' name='Basic' /> 
 
    </form> 
 
    <br /> 
 
    <button onclick='myfunc() '>Submit</button> 
 

 
    <p id='demo '></p>

+0

ありがとう、それは今完璧に動作します。 '[0]'は何をしますか? – Sushruth

+0

'[0]'は 'name '属性が' Basic 'である要素リストの最初の項目を選択します。 – Zenoo

+0

情報ありがとうございます。 – Sushruth

1

document.getElementByName無効な構文です。正しい構文はdocument.getElementsByName(欠落している "s"をチェックアウト)です。 document.getElementsByName戻り値Array、そう

変更は

var a = document.getElementByName('Basic').value; 

var a = document.getElementsByName('Basic')[0].value; 

することも <input type=''text'に余分な単一引用符と name='Basic 'に余分なスペースがあります。あなたの完全なコードがあるべき

<input type='text' name='Basic' /> 

、あまりにもそれを修正し、

<h3> 
    <u>Enter Details Below</u>   
</h3> 

<form> 
    Enter salary base pay:&nbsp <input type='text' name='Basic' /> 
</form> 
<br /> 
<button onclick='myfunc()'>Submit</button> 

<p id='demo'></p> 

<script> 
    function myfunc() { 
     document.getElementById("demo").innerHTML = document.getElementsByName('Basic')[0].value; 
    } 
</script> 
+0

これらの小さな詳細を指摘してくれてありがとう。 – Sushruth

関連する問題