PHP+javascript实现表单验证的问题!
这是html代码(里面含有js代码)<html><head><scriptlanguage="javascript"><!--functioncheckform(){if...
这是html代码(里面含有js代码)
<html>
<head>
<script language="javascript">
<!--
function checkform()
{
if (LoginForm.pd.value=='')
{
alert ("请填写完整哦!~");
return false;
}
return true;
}
//-->
</script>
</head>
<body>
<fieldset>
<legend>用户登录</legend>
<form name="LoginForm" method="post" action="1.php" onSubmit="return InputCheck(this)">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="password" name="pd" type="password" class="input" />
<p/>
<p>
<input type="submit" name="submit" value="submit" onclick="checkform()" class="left" />
</p>
</form>
</fieldset>
</body>
</html>
这是PHP代码
<?php
$psd=$_POST["pd"];
$user=$_POST["username"];
if($user!="admin")
echo "用户名不正确!";
else if($psd!="admin")
echo "密码不正确!";
else
echo "欢迎登陆!";
?>
现在问题是如果密码没写对点击提交会出现请填写完整哦!~信息!但是数据还是会发到php里验证,如何实现密码不对就不发送到php里验证,继续停留在登陆界面! 展开
<html>
<head>
<script language="javascript">
<!--
function checkform()
{
if (LoginForm.pd.value=='')
{
alert ("请填写完整哦!~");
return false;
}
return true;
}
//-->
</script>
</head>
<body>
<fieldset>
<legend>用户登录</legend>
<form name="LoginForm" method="post" action="1.php" onSubmit="return InputCheck(this)">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="password" name="pd" type="password" class="input" />
<p/>
<p>
<input type="submit" name="submit" value="submit" onclick="checkform()" class="left" />
</p>
</form>
</fieldset>
</body>
</html>
这是PHP代码
<?php
$psd=$_POST["pd"];
$user=$_POST["username"];
if($user!="admin")
echo "用户名不正确!";
else if($psd!="admin")
echo "密码不正确!";
else
echo "欢迎登陆!";
?>
现在问题是如果密码没写对点击提交会出现请填写完整哦!~信息!但是数据还是会发到php里验证,如何实现密码不对就不发送到php里验证,继续停留在登陆界面! 展开
展开全部
呵呵,很简单。修改两个地方:
1. <form .... onsubmit="return checkform()">
2. <input type="submit" name="submit" value="submit" onclick="checkform()" class="left" />
把onclick="checkform()"去掉吧,没用。
问题的关键:验证是form标签的onsubmit控制的。而你写的onsubmit="return InputCheck(this)"。你的javascript中定义的方法时checkform(),而不是inputCheck();
另外你在submit按钮的onclick事件上定义了checkform(),所以点击提交会触发这个方法的调用,但是它的返回结果对控制表单是否提交无效。只有form的onsubmit后面的方法才能控制表单的提交。
满意请采纳鼓励。
1. <form .... onsubmit="return checkform()">
2. <input type="submit" name="submit" value="submit" onclick="checkform()" class="left" />
把onclick="checkform()"去掉吧,没用。
问题的关键:验证是form标签的onsubmit控制的。而你写的onsubmit="return InputCheck(this)"。你的javascript中定义的方法时checkform(),而不是inputCheck();
另外你在submit按钮的onclick事件上定义了checkform(),所以点击提交会触发这个方法的调用,但是它的返回结果对控制表单是否提交无效。只有form的onsubmit后面的方法才能控制表单的提交。
满意请采纳鼓励。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询