<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>康健食疗诊所VIP用户登陆</title>
</head>
<body>
<br>
<br>
<form name="loginForm" method="get" action="testForm2.php" onsubmit="checkUser()">
用户名:<input type="text" name="loginName"><br><br>
密码:   <input type="password" name="userPassword"><br><br>
<input type="button" value="注册">
<input type="submit" value="登陆" >
</form>
<script>
function checkUser() {
var userName=document.getElementsByName('loginName');
var passWord=document.getElementsByName('userPassword');
if (userName.value==null || passWord.value==null){
alert('请先填写内容');
return false;
}
}
</script>
</body>
</html>
能够弹出窗口提示需要填写,但是关闭窗口后仍然会提交并切换到ACTION的页面
第一个问题
onsubmit="checkUser()" 改成
onsubmit="return checkUser()"
少了个return
第二个问题
var userName =document.getElementsByName('loginName') 获取的 是对象数组,直接获取value获取不到
改成
var userName =document.getElementsByName('loginName')[0];
var passWord=document.getElementsByName('userPassword')[0];
第三个问题
判断为空应该是if(userName.value==""||passWord.value==""){}
1.onsubmit事件需要接收返回值
2.getElementsByName根据name获取得到的是 NodeList 不是单独document对象
改如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>康健食疗诊所VIP用户登陆</title>
</head>
<body>
<br>
<br>
<form name="loginForm" method="get" action="testForm2.php" onsubmit="return checkUser()">
用户名:<input type="text" name="loginName"><br><br>
密码:   <input type="password" name="userPassword"><br><br>
<input type="button" value="注册">
<input type="submit" value="登陆">
</form>
<script>
function checkUser() {
var userName = document.getElementsByName('loginName')[0];
var passWord = document.getElementsByName('userPassword')[0];
if (!userName.value || !passWord.value) {
alert('请先填写内容');
return false;
}
}
</script>
</body>
</html>
type由submit改成button 再加个onclick事件调用 提交方法
不过建议改成ajax会更友好
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>康健食疗诊所VIP用户登陆</title>
</head>
<body>
<br>
<br>
<form name="loginForm" method="get" action="testForm2.php" onsubmit=“return checkUser()”>
用户名:<input type="text" name="loginName"><br><br>
密码:   <input type="password" name="userPassword"><br><br>
<input type="button" value="注册">
<input type="submit" value="登陆" >
</form>
<script>
function checkUser() {
var userName=document.getElementsByName('loginName')[0];
var passWord=document.getElementsByName('userPassword')[0];
if (userName.value==“”|| passWord.value==“”){
alert('请先填写内容');
return false;
}
}
</script>
</body>
</html>
照专家的三点意见修改了,还是不行?是否没有理解到?
非常感谢!您修改过后,果然可以运行了。能方便告诉我哪里的引号错了么?因为我对phpstorm不是很熟悉,这样我看看究竟ide会有怎样的提示?