$("#logint").click(function () { var uname=$("#uname").value() var upwd=$("#upwd").value() }); function isEmpty(str) { if(isEmpty(uname)) { $("#msg").html("用户名不能为空!") } if (isEmpty(upwd)){ $("#msg").html("用户密码不能为空!") } $("#loginForm").submit(); return; }哪里有错
时间: 2024-01-24 16:04:56 浏览: 96
在这段代码中,`$("#uname").value()`和`$("#upwd").value()`应该改为`$("#uname").val()`和`$("#upwd").val()`,因为`val()`方法可以获取表单元素的值,而`value()`方法在jQuery中是不存在的,这可能导致代码运行出错。此外,`isEmpty()`函数中应该使用`else if`语句,否则两个错误提示信息都可能被输出。以下是修改后的代码:
```
$("#logint").click(function () {
var uname = $("#uname").val();
var upwd = $("#upwd").val();
isEmpty(uname, upwd);
});
function isEmpty(uname, upwd) {
if (uname === '') {
$("#msg").html("用户名不能为空!");
} else if (upwd === '') {
$("#msg").html("用户密码不能为空!");
} else {
$("#loginForm").submit();
}
}
```
相关问题
$("#logint").click(function () { var uname=$("#uname").val() var upwd=$("#upwd").val() if(isEmpty(uname)) { $("#msg").html("用户名不能为空!") } if (isEmpty(upwd)){ $("#msg").html("用户密码不能为空!") } $("#loginForm").submit(); return; }); function isEmpty(str) { if(str==null||str.trim()=="") return true; return false; }检查一下
这段代码的逻辑是当用户点击 `id` 为 `logint` 的元素时,获取 `id` 分别为 `uname` 和 `upwd` 的输入框的值,如果其中一个值为空,则在 `id` 为 `msg` 的元素中显示相应的错误信息,如果都不为空,则提交表单,同时返回 `true`。
这段代码看起来没有明显的语法错误或逻辑问题。但是需要注意的是,如果该代码片段是在HTML文档的头部部分被执行,那么可能会出现 `#logint` 元素尚未被加载的情况,导致绑定的点击事件无法生效。建议将绑定事件的代码放在 `$(document).ready()` 函数中,确保DOM元素已经加载完毕再执行绑定操作。例如:
```
$(document).ready(function() {
$("#logint").click(function () {
var uname=$("#uname").val();
var upwd=$("#upwd").val();
if(isEmpty(uname)) {
$("#msg").html("用户名不能为空!")
} else if (isEmpty(upwd)) {
$("#msg").html("用户密码不能为空!")
} else {
$("#loginForm").submit();
}
return false;
});
});
function isEmpty(str) {
if(str==null||str.trim()=="")
return true;
return false;
}
```
这里还做了一些小的改进,当用户名或密码为空时,只会显示其中一个错误信息,而不是同时显示两个。同时,在提交表单之后,返回 `false`,防止表单重复提交。
function isEmpty(str) { if(str==null||str.trim()=="") return true; return false; } $("#logint").click(function () { var uname=$("#uname").val() var upwd=$("#upwd").val() if(isEmpty(uname)) { $("#msg").html("用户名不能为空!") } if (isEmpty(upwd)){ $("#msg").html("用户密码不能为空!") } $("#loginForm").submit(); return; });转换为javascript
下面是将上述代码转换为纯JavaScript的过程:
```javascript
function isEmpty(str) {
if (str == null || str.trim() == "") {
return true;
}
return false;
}
document.getElementById("logint").addEventListener("click", function() {
var uname = document.getElementById("uname").value;
var upwd = document.getElementById("upwd").value;
if (isEmpty(uname)) {
document.getElementById("msg").innerHTML = "用户名不能为空!";
}
if (isEmpty(upwd)) {
document.getElementById("msg").innerHTML = "用户密码不能为空!";
}
document.getElementById("loginForm").submit();
return;
});
```
这里使用了`document.getElementById`来获取DOM元素,使用了`addEventListener`来绑定事件。另外,jQuery的选择器可以用`document.querySelector`或`document.querySelectorAll`等方法代替。
阅读全文