2016-05-07 11 views
-2

エレクトロニクスでプログラムや作業ができる開発者とオタク/オタクがどれくらいの候補者に投票しているかに基づいて投票を行いました。しかし、それはブラウザでは動作せず、W3のTry Itでは動作しません。私は個々のセクションがアドレスバーで動作することを確認しました年齢と能力の識別

javascript:var age = prompt("How old are you?"); 

しかし、私はページを読み込んだときに何もしませんでした。

ここにページがあります。誰かが私を助けてくれますか?

<html> 
<head> 
<title>Age Verification</title> 
<script> 
function verify() { 
var age = prompt("How old are you?"); 
var dev = prompt("Do you develop websites, applications, or work with electronics?"); 
if (age < 14) alert("You are too young to be using this poll") window.open("www.google.com"); 
if (dev == "no") alert("You may not vote in this poll, as it was designed for calculating the opinions of these people"); 
if (dev == "yes" && age >= 14) window.location.href = 'main.php'; 
} 
</script> 
</head> 
<body> 
<script> 
verify(); 
</script> 
</body> 
</html>  

私は方法を検索して検索しましたが、見つからませんでした。

+0

'age'は文字列です。あなたは 'if(parseFloat(age)<14)'または奇妙だが合法的 'if(+ age <14)' – Wainage

+1

@Wainage型強制を必要とします。しかし中括弧を使わないと、window.open(google)はどんな条件の中にもなく、したがって常に実行されます。 theasdfguy555、 "動作しません"問題/エラーのかなり貧弱な記述です。あなたはそれを改善したいですか? – Thomas

+0

ありがとうございました!すべてのことが正しいとすれば、最終的にmain.phpに戻ります。 – theasdfguy555

答えて

1

私はこのページを実行すると、私はこれを取得:

あり

SyntaxError: missing ; before statement (8:63)

私は、この問題の行を見た:

if (age < 14) alert("You are too young to be using this poll") window.open("www.google.com"); 

をそして実際、;alert後に行方不明になった、と私はそれを挿入:

if (age < 14) alert("You are too young to be using this poll"); window.open("www.google.com"); 

...何かを開始しました。

私が14歳以上になっても新しいウィンドウが開かれていることがわかりました。ああ、その周りの括弧もあるはずです:

if (age < 14) { 
    alert("You are too young to be using this poll"); 
    window.open("www.google.com"); 
} 

デバッグセッションの終了。

教訓:コンソールで常にエラーがないか確認してください。行に注意して、エラーを見つけて修正してください。