Javascript是或取消

时间:2016-03-05 16:53:04

标签: javascript

我有一个关于下面的代码的问题,每当我点击取消时,脚本仍会启动以使用用户名null启动teamspeak服务器,如何让它取消并且什么也不做?提前感谢您提供的任何帮助。

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);

2 个答案:

答案 0 :(得分:2)

我建议你这样做,检查用户变量是否有值(user验证为真)并且至少有一个字符(user.length大于0)。

注意,您的上一个window.location.assign("...")必须在最后if个陈述

之内
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 :(得分:-1)

我认为因为null!=“”因此你的第一个if条件仍然是真的。尝试检查用户是否!=“”&&用户!=第一个if条件中的null