2017-08-19 2 views
0

Je suis en train de programmer une forme simple qui demande les entrées suivantes:Pourquoi ce code de formulaire ne fonctionne-t-il pas? Il semble logique

humeur

, l'âge et le sexe

Peu importe ce que je mets dans l'invite de l'humeur . Ça sort toujours positif. Pour l'âge, je voudrais que l'onglet se ferme s'ils ont moins de 18 ans. Pour le genre, ça va pareil avec l'invite d'humeur. Toute aide serait appréciée.

var userMood = prompt("Hey! How's it going?"); 
 
\t if (userMood = "good" || "Good") { 
 
\t \t alert("Awesome! We just need you to fill out a form for security reasons."); 
 
\t } else if (userMood != "good" || "Good") { 
 
\t \t alert("Oh, I'm sorry to hear that... We just need you to fill out a form for security reasons."); 
 
} 
 

 
var userAge = prompt("What is your current age?"); 
 
\t if (userAge >= "18") { 
 
\t \t alert("Great! You are the sufficient age to enter this webpage!"); 
 
\t \t userAge = true; 
 
\t } else if (userAge <= "17"){ 
 
\t \t alert("Sorry, you are too young to view this content..."); 
 
\t \t window.close(); 
 
} 
 
var userGender = prompt ("What is your gender?"); 
 
\t if (userGender = "male" || "Male" || "female" || "Female"){ 
 
\t \t alert("Great! You're human!"); 
 
\t \t userGender = true; 
 
\t } else { 
 
\t \t alert("The webpage has perdicted non-human cyber activity, you can no longer continue."); 
 
\t \t window.close(); 
 
\t }

Répondre

1

je vais faire ma réponse verbeux pour vous aider à apprendre. pour commencer, vous utilisez = lorsque vous voulez utiliser == ou même ===. c'est pourquoi l'état d'esprit est toujours aussi bon, car userMood = "good" définit userMood à "good" et donc l'expression évalue à "good", ce qui valide l'instruction if car FALSE for strings est "" et true est tous les deux chaîne. aussi userMood = "good" || "Good" ne fait pas ce que vous pensez qu'il fait. vous devez vérifier les deux chaînes comme (userMood === "good" || userMood === "Good").

0

J'ai essayé de faire varier certaines lignes de votre code dans quelque chose ci-dessous.

var userMood = prompt("Hey! How's it going?"); 
 
    if (userMood == "good" || userMood == "Good") 
 
\t  alert("Awesome! We just need you to fill out a form for security reasons."); 
 
    else 
 
\t  alert("Oh, I'm sorry to hear that... We just need you to fill out a form for security reasons."); 
 

 

 
var userAge = prompt("What is your current age?"); 
 
    if (userAge >= 18) 
 
     { 
 
\t  alert("Great! You are the sufficient age to enter this webpage!"); 
 
\t  userAge = true; 
 
     } 
 
    else if (userAge < 18 && userAge > 0) 
 
     { 
 
\t  alert("Sorry, you are too young to view this content..."); 
 
\t  window.close(); 
 
     } 
 
    else if (userAge < 0) 
 
     { 
 
     alert(" ***** prompt message for inputting negative number ****");  
 
     window.close(); 
 
     } 
 

 
var userGender = prompt ("What is your gender?"); 
 
    if (userGender == "male" || userGender == "Male" || userGender == "female" || userGender == "Female") 
 
     { 
 
\t  alert("Great! You're human!"); 
 
\t  userGender = true; 
 
     } 
 
    else 
 
     { 
 
\t  alert("The webpage has perdicted non-human cyber activity, you can no longer continue."); 
 
\t  window.close(); 
 
     }

+0

peut-être vous aimeriez envisager d'ajouter d'autres variantes de « bon » comme '' bonne' ou bonne' et ainsi de suite. il faudrait 16 échantillons en tout, je suppose. à moins que quelqu'un ne code pour le faire plus facilement. –

+0

Tout fonctionne bien et j'aime l'espacement que vous avez ajouté, mais de toute façon, encore, le programme ne fermera pas la fenêtre si l'âge des utilisateurs est invalide? Aide serait appréciée –

+0

Ok, veuillez patienter. Je vais éditer. J'ai ajouté 'window.close();' si 'userAge <0'. –