2016-07-04 16 views
0

私はJSを学ぼうとしていますが、改善するために解決しようとしているいくつかの練習問題があります。現時点では、数字が回文かどうかを調べようとしていますが、私はこのコードを持っていますが、入力に挿入する数字は全て回文です。番号がJSの回文であるかどうかを調べる

<input type="text" class="screen"> 
<button type="button" class="btn">Check</button> 


var strg = document.querySelector(".screen").value; 
var pal = strg.split("").reverse("").join(""); 

document.querySelector(".btn").addEventListener("click", function(){ 
    if (strg == pal) { 
    console.log(strg+" is a palindrome"); 
    } 
    else { 
    console.log(strg+" is not a palindrome"); 
    } 
}) 

https://jsfiddle.net/Lw6uk8kb/

助けに感謝。

答えて

2

あなたにも、ハンドラ内の最初の2行を移動する必要があります。

document.querySelector(".btn").addEventListener("click", function(){ 
    var strg = document.querySelector(".screen").value; 
    var pal = strg.split("").reverse("").join(""); 
    if (strg == pal) { 
     console.log(strg+" is a palindrome"); 
    } 
    else { 
     console.log(strg+" is not a palindrome"); 
    } 
}); 

あなたは常に.screenの同じ(空?)の値を照会します。

+0

それが機能するようになりました、助けに感謝。 –

1

以下のように使用コード:

document.querySelector(".btn").addEventListener("click", function(){ 
    var strg = document.querySelector(".screen").value; 
    var pal = strg.split("").reverse("").join(""); 
    if (strg == pal) { 
    console.log(strg+" is a palindrome"); 
    } 
    else { 
    console.log(strg+" is not a palindrome"); 
    } 
}) 

あなたがボタンをクリックします(後)現時点で回文を計算しますので、これは動作します。あなたのコードでは、すべてのスクリプトがロードされた後、すべての計算がすぐに機能します。

0

実際の値で変数を更新していませんでした。
ただ、イベントハンドラ内でそれらを移動:

document.querySelector(".btn").addEventListener("click", function(){ 
var strg = document.querySelector(".screen").value; 
var pal = strg.split("").reverse().join(""); 
if (strg == pal) { 
    console.log(strg+" is a palindrome"); 
} else { 
    console.log(strg+" is not a palindrome"); 
} 
}) 
関連する問題