2016-03-05 28 views
0

我有一個關於下面的代碼的問題,每當我點擊取消,腳本仍然會啓動與用戶名爲null的teamspeak服務器,我該如何取消和什麼都不做?預先感謝您提供的任何幫助。Javascript是或取消

function checkCookie() { 
var user=getCookie("username"); 
if (user != "") { 
    alert("Welcome again " + user + ". You will now be redirected to our teamspeak server."); 
    window.location.assign("ts3server://ts3.demo.ga?port=9170&nickname=" +user); 
} else { 
    user = prompt("Please enter your name:",""); 
    if (user != "" && user != null) { 
     setCookie("username", user, 30); 
    } 
window.location.assign("ts3server://ts3.demo.ga?port=9170&nickname=" +user); 
+0

移動最後一行(window.location的......)所以說到後'setCookie' –

+0

感謝這個,我沒有」在再次檢查後再注意它。 –

回答

2

我可以建議做這樣的,在那裏你檢查是否用戶變量的值(user驗證爲真),並在至少一個字符(user.length大於0)。

注意,你上次window.location.assign("...")需求是最後if statment內

function checkCookie() { 
    var user = getCookie("username"); 
    if (user && user.length > 0) { 
    alert("Welcome again " + user + ". You will now be redirected to our teamspeak server."); 
    window.location.assign("ts3server://ts3.demo.ga?port=9170&nickname=" +user); 
    } else { 
    user = prompt("Please enter your name:",""); 
    if (user && user.length > 0) { 
     setCookie("username", user, 30); 
     window.location.assign("ts3server://ts3.demo.ga?port=9170&nickname=" +user);  
    } 
    } 
} 
-1

我認爲它是因爲null!=「」,因此你的第一個條件仍然是true。嘗試檢查,如果用戶!=「」 & &用戶!= NULL在你的第一個,如果條件