2016-02-17 3 views
-2

В настоящее время изучается, как работать с подсказками. Когда пользователь вводит ложное значение в одно из моих приглашений, он убивает скрипт и отображает пустую страницу. Вместо того, чтобы идти пустым, я хочу запрограммировать перезапуск приглашения, чтобы дать возможность пользователю повторить попытку, не обновляя страницу. Какие-нибудь советы?Перезапуск запроса

Сокращенный вариант кода:

var subjectGender=""; 
var genderOK=true; 
var originalGendertag="male"; 
var newGendertag="female"; 


subjectName=prompt("What is the subject's name?",subjectName); 
subjectGender=prompt("Is "+subjectName+" male(M) or female(F)?","M or F"); 
if ((subjectGender!="M")&&(subjectGender!="F")){ 
    alert("Must enter M or F"); 
    genderOK=false; 
    originalGendertag="female"; 
    newGendertag="male"; 
} 
if (genderOK==true){ 
    document.write(subjectName+" is "+originalGendertag+".") 
} 
+1

Поместите строку в функцию и вызвать функцию еще раз, чтобы показать подсказку снова. Подробнее о функциях (http://eloquentjavascript.net/03_functions.html). Или используйте цикл. –

+0

Я полу пытался это раньше и не мог заставить его работать, но я, вероятно, сделал что-то не так. Я буду продолжать пытаться выяснить, могу ли я заставить его работать – GiggleDaddy

+0

, пожалуйста, напишите свой код и то, что вы пробовали – thedarklord47

ответ

0

Просто вызов рекурсивной функции, если пользователь не вводит значение, которое вы ожидали.

// Call the function 
showPrompt(); 

function showPrompt() { 
    var age = prompt("Please enter your age: "); 
    // The prompt will be shown until the user hits 24 in this case 
    if (+age !== 24) { 
    showPrompt(); 
    } else { 
    console.log('Close my prompt !!'); 
    } 
} 

Example

Смежные вопросы