2

如果用户名或密码为空,我会尝试显示图像警告消息。

但是,如果我的用户名或密码为空,则不会出现图像。我想念哪里?

我的 Javascript 代码

function LoginButonOnclick() {
var data= {
UserName: $('#UserNameTextBox').val(),
Password: $('#PasswordTextBox').val(),
};
if (data.UserName== null) {
$("#showwarning").html('<img src="~/Image/warning.png">');
}
if (data.Password== null) {
$("#showwarning").html('<img src="~/Image/warning.png" />');
}
}

我的 HTML 代码:

<input type="text" id="UsernameTextBox" name="UsernameTextBox"/>
<input type="text" id="PasswordTextBox" name="PasswordTextBox"/>
<input type="button" onclick="LoginButonOnclick()" value="Enter"/>

<div id="showwarning"></div>
4

3 回答 3

5
 data.UserName=="" //an empty string is not null
于 2013-09-20T05:50:46.103 回答
2

你有一大堆麻烦。这是我更新的代码:

  1. 在 HTML 中调用了 UserName 文本框UserNameTextBox,但在 jQuery 中您将其命名UsernameTextBox。JavaScript 区分大小写。
  2. 您不能~用于图像的客户端路径,这是 ASP.Net 的事情。
  3. 在 JavaScript 中,你可以有值和值。当我检查结果时,我检查空白和未定义。虽然也许最好使用正则表达式来检查空白字符串。

代码

function LoginButonOnclick() {
    var data = {
        UserName: $('#UsernameTextBox').val(),
        Password: $('#PasswordTextBox').val(),
    };

    if (!data.UserName) {
        alert('ERROR!');
        $("#showwarning").html('<img src="/Image/warning.png">');
    }
    if (!data.Password) {
        $("#showwarning").html('<img src="/Image/warning.png" />');
    }
}

jsFiddle

使用正则表达式验证字符串中是否存在非空白字符:

if (!/\S/.test(UserName)) {
    $("#showwarning").html('<img src="/Image/warning.png">');
}
于 2013-09-20T05:57:43.533 回答
1

你也应该使用 jQuerys

bind

函数将按钮上的点击分配给一个函数。见http://jsfiddle.net/jX3N2/

于 2013-09-20T05:57:07.537 回答