按下ESC时来自提示框的值

时间:2011-06-03 08:04:03

标签: php javascript ajax

我有这个简单的功能

function Login()
{
var x=prompt("Please enter your name","");
var xmlhttp;
if (window.XMLHttpRequest)
  {// Използваните браузъри
  xmlhttp=new XMLHttpRequest();
  }
else
  {// Кой ли ползва тези версии..
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
    xmlhttp.open("GET","login.php?u="+x,true);
    xmlhttp.send();
    }

问题是当用户决定通过单击ESC退出提示框时。有人向我解释在这种情况下变量x究竟发生了什么。我得出的结论是它被赋值为'null'并且null表示一个字符串,因为当我用

检查时
If(!is_null($u))

我的脚本不起作用,但如果我用

替换它
If($u!='null')

那么一切都运行得很好,所以当你用pressin ESC退出时,有人可以解释我实际上发生的提示框值是什么吗?

2 个答案:

答案 0 :(得分:1)

当用户取消提示时,

x将收到null值,因此:

var x=prompt("Please enter your name","");
if (x === null) {
    // User canceled
}

Live example

答案 1 :(得分:0)

它返回就像你点击了取消一样。

null不是字符串..

alert( prompt('') === null );
如果按 Esc 或取消按钮,

将提醒true