2016-02-17 95 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