2016-05-07 3 views
-2

Ich machte eine Umfrage basierend darauf, wie viele Entwickler und Nerds/Geeks, die programmieren und/oder mit Elektronik arbeiten konnten, für welche Kandidaten stimmten, und ich machte dieses Skript um zu überprüfen, ob sie geeignet waren. Es funktioniert jedoch nicht im Browser und funktioniert nicht auf W3's Try It. Ich habe überprüft, dass einzelne Abschnitte in der Adressleiste wieAlters- und Fähigkeitsidentifikation

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

funktionieren, aber wenn ich die Seite geladen würde es nichts tun.

Hier ist die Seite, könnte mir bitte jemand helfen?

<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>  
Ich habe einen Weg gesucht und gesucht, aber habe keinen gefunden.

+0

'Alter' ist eine Zeichenfolge. Du brauchst 'if (parseFloat (age) <14)' oder das seltsame, aber legale 'if (+ age <14)' – Wainage

+1

@Wainage through type coercion, dieser Teil funktioniert einwandfrei in JS. Ohne geschweifte Klammern befindet sich window.open (google) jedoch nicht in einer Bedingung und wird daher immer ausgeführt. theasdfguy555, "funktioniert nicht" ist eine ziemlich schlechte Beschreibung des Problems/Fehlers. Du willst das verbessern? – Thomas

+0

Danke euch beiden! Es bringt dich schließlich zur main.php, wenn du alles richtig machst. – theasdfguy555

Antwort

1

Wenn ich diese Seite laufen lasse, erhalte ich diese:

SyntaxError: missing ; before statement (8:63)

Dort sah ich diese Codezeile:

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

Und in der Tat, ein ; nach dem alert fehlte, und ich steckte ihn :

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

... und es begann etwas zu tun.

Dann habe ich festgestellt, dass ein neues Fenster geöffnet wird, auch wenn ich ein Alter von 14 oder mehr eingeben. Ah, es sollte auch Klammern um das sein:

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

Ende der Debugging-Sitzung.

Lessons gelernt: immer auf Fehler in der Konsole zu überprüfen. Notieren Sie die Zeile, erkennen Sie den Fehler und beheben Sie ihn.

Verwandte Themen