2016-05-26 8 views
0

私はテキストボックス内の数字を取る簡単なjavascriptを作ることができず、ボタンをクリックすると結果が返されます。 id属性で要素を選択するjavascript奇妙な/形の中に

<html> 
<head> 

<body> 

<form> 
<input id = "evenoddinput" > 

<input type="button" value="check" OnClick="check();"> 
</form> 
<script> 
function check() 
{ 
    var v=document.getElementById("evenoddinput").value; 

    if(v%2==0) 
    { 
    } document.write("Even"); 

    else 
    { 
    document.write("odd"); 
    } 


} 
</script> 

</body> 
</html> 
+0

忘れ 'docuent.write()'。 'document.createElement()'を検索し、Node.innerHTMLとNode.textContentを調べてDOMを操作する – Thomas

+0

getElementById、getValueById;) – AxelH

答えて

4

正しい構文はgetElementByIdgetValueByIdではありません。

また、console.log()をデバッグに使用してください。

function check() { 
 
    var v = document.getElementById('evenoddinput').value; 
 
    if (v % 2 == 0) { 
 
    console.log("Even"); 
 
    } else { 
 
    console.log("odd"); 
 
    } 
 
}
<form> 
 
    <input id="evenoddinput"> 
 
    <input type="button" value="check" OnClick="check();">

+0

キャストする '+'は、それを私の心の中に入れてください!まず、彼は問題がはっきりと書かれているので、デバッガを使用する必要があります。 – AxelH

+0

@AxelH、私はそれがどんな害をしていたか疑問に思います...とにかく... ... – Rayon

+0

いいえ、いい感じでした。十分に使用されていません。 – AxelH

0

あなたのコードは、それはdocument.writeを使用して、ページに書き込みをすることは推奨されません

var v=document.getElementById("evenoddinput").value; 

ない

var v=document.getValueById(evenoddinput).value; 
0

でなければなりません 間違っています。ページ全体の内容を置き換えるためです。結果フィールドを使用し、このフィールドに結果を書き込む方が良いのは、innerHTMLです。

function check() { 
 
    var v = document.getElementById('evenoddinput').value; 
 
    
 
    var result; 
 
    if (v % 2 == 0) { 
 
    result = "Even"; 
 
    } else { 
 
    result = "odd"; 
 
    } 
 
    
 
    document.getElementById("result").innerHTML = result; 
 
    
 
}
<input id="evenoddinput"> 
 
<input type="button" value="check" OnClick="check();"> 
 

 
<div id="result"></div>