為什么在prompt窗口點了取消還是會打開新窗口的
function?openWindow(){ ????????var?clickConfirm?=?confirm("是否打開網(wǎng)址輸入框?"); ????????if?(clickConfirm?==?true){ ????????????var?link?=?prompt("Please?input?the?website?address:","https://qq.com"); ????????????window.open(link,'_blank','width=500,height=600'); ????????} ????????else?{ ????????????alert("helloworld"); ????????} ????}
我想實現(xiàn)點擊確認(rèn)打開新窗口,點擊取消彈alert,但是好像不行。
另外我想嘗試:
1、點擊按鈕先彈prompt窗口;點擊確認(rèn)再彈出confirm窗口;點擊取消彈alert
2、彈出confirm窗口,點擊確認(rèn)打開新網(wǎng)頁窗口,點擊取消彈alert
試了很多個方式,但是都會提示else錯誤等等,無法正常實現(xiàn)我需要的功能。比如如下代碼:
function?openWindow(){ ????????var?link?=?prompt("Please?input?the?website?address:","https://qq.com"); ????????if?(prompt?==?true){ ????????????var?clickConfirm?=?confirm("是否打開網(wǎng)址輸入框?"); ????????????if?(clickConfirm?==?true){ ????????????????window.open(link,'_blank','width=500,height=600'); ????????????} ????????????else?{ ????????????????alert("helloworld"); ????????????} ????????} ????????else?{ ????????????alert("helloworld"); ????????} ????}
請大家指點一下,謝謝
2020-10-20
你第一個代碼段沒有問題,可以按照預(yù)期運行;:如果你把
if
?(clickConfirm ==
true
)
誤打成if
?(clickConfirm =
true
)
就會出現(xiàn)你描述的問題,這段代碼和你測試時的代碼是否不同?你第二個代碼段錯在對prompt方法返回值的理解。下面的代碼是對你的描述的一種實現(xiàn):2020-10-20
重寫了第一段代碼:
根據(jù)樓上熱心朋友的解答,寫了第二段:
2020-10-19
prompt的返回值是字符串或者null。所以第三行應(yīng)該是prompt(link!=null)