PHP表单JS验证的一个简单问题 20
<?phpinclude("./ctrol/get.php");if($_POST[submit]){$add=newtras;$add->ins();echo"<scr...
<?php
include("./ctrol/get.php");
if($_POST[submit]){
$add = new tras;
$add -> ins();
echo"<script>location.href='index.php'</script>";
}
?>
<script language="javascript">
function change(){
if (myform.name.value=="")
{
alert("请填写用户名");
myform.user.focus();
return false;
}
if (myform.age.value=="")
{
alert("请填写年龄");
myform.content.focus();
return false;
}
if(myform.sex.checked==false){
alert("请选择性别");
}
return true;
}
</script>
现在一点提交,不管有没有内容都会传到数据库里而且不合格时也跳转,哪位高手给看看。
希望达到的效果是先JS,JS全部通过后,再提交到PHP。 展开
include("./ctrol/get.php");
if($_POST[submit]){
$add = new tras;
$add -> ins();
echo"<script>location.href='index.php'</script>";
}
?>
<script language="javascript">
function change(){
if (myform.name.value=="")
{
alert("请填写用户名");
myform.user.focus();
return false;
}
if (myform.age.value=="")
{
alert("请填写年龄");
myform.content.focus();
return false;
}
if(myform.sex.checked==false){
alert("请选择性别");
}
return true;
}
</script>
现在一点提交,不管有没有内容都会传到数据库里而且不合格时也跳转,哪位高手给看看。
希望达到的效果是先JS,JS全部通过后,再提交到PHP。 展开
6个回答
展开全部
如果你写的是正确的话应该是这样对表单验证的
<form name="theForm" onsubmit="return change();">
.....
</form>
这样如果你的JS验证代码无误的话,应该是运行正常的。但这个有一个小问题,就是偶而会有些莫名其妙的东西出来,就是明明表单有错误却无缘无故可以提交。
我一般是这样处理的:
<form name="theForm" >
.....
<input type="button" value="提交" onclick="change(this.form);">
</form>
此处的FORM表单不采用 onsubmit 验证方法(注意上面代码的提交按钮,不是submit而是button)。而是交给JS去处理,将整个FORM表单当成参数传递给验证函数,我修改下你的代码如下。
<script language="javascript">
function change(myform){
if (myform.name.value=="")
{
alert("请填写用户名");
myform.user.focus();
return false;
}
if (myform.age.value=="")
{
alert("请填写年龄");
myform.content.focus();
return false;
}
if(myform.sex.checked==false){
alert("请选择性别");
myform.sex.focus();
return false;
}
myform.submit(); //如果上面的全部能过,则提交表单。
}
</script>
<form name="theForm" onsubmit="return change();">
.....
</form>
这样如果你的JS验证代码无误的话,应该是运行正常的。但这个有一个小问题,就是偶而会有些莫名其妙的东西出来,就是明明表单有错误却无缘无故可以提交。
我一般是这样处理的:
<form name="theForm" >
.....
<input type="button" value="提交" onclick="change(this.form);">
</form>
此处的FORM表单不采用 onsubmit 验证方法(注意上面代码的提交按钮,不是submit而是button)。而是交给JS去处理,将整个FORM表单当成参数传递给验证函数,我修改下你的代码如下。
<script language="javascript">
function change(myform){
if (myform.name.value=="")
{
alert("请填写用户名");
myform.user.focus();
return false;
}
if (myform.age.value=="")
{
alert("请填写年龄");
myform.content.focus();
return false;
}
if(myform.sex.checked==false){
alert("请选择性别");
myform.sex.focus();
return false;
}
myform.submit(); //如果上面的全部能过,则提交表单。
}
</script>
更多追问追答
追问
这样写验证肯定是没问题了,但不提交只验证也没什么意义啊,目的是验证成功后提交
目前代码不管是PHP还是JS都能单独实现,问题只是怎么能合起来。
追答
一个简单的表单验证不知道为什么被你搞的那么复杂,不知道你到底想要什么。什么叫不提交只验证?你仔细看代码没有。写了三年的JS连你这点问题我还想到你后面去了不成??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script language="javascript">
function change(){
if(document.myform.name.value=="")
{
alert("请填写年龄用户名!");
document.myform.name.focus();
return false;
}
if(document.myform.age.value=="")
{
alert("请填写年龄");
document.myform.age.focus();
return false;
}
if(myform.sex.checked==false){
alert("请选择性别");
}
return true;
}
</script>
<form name="myform" action="#" method="get" onsubmit="return change()">
用户名:<input name="name" type="text" /><br />
年龄:<input name="age" type="text" /><br />
<input name="" type="submit" value="提交" />
</form>
function change(){
if(document.myform.name.value=="")
{
alert("请填写年龄用户名!");
document.myform.name.focus();
return false;
}
if(document.myform.age.value=="")
{
alert("请填写年龄");
document.myform.age.focus();
return false;
}
if(myform.sex.checked==false){
alert("请选择性别");
}
return true;
}
</script>
<form name="myform" action="#" method="get" onsubmit="return change()">
用户名:<input name="name" type="text" /><br />
年龄:<input name="age" type="text" /><br />
<input name="" type="submit" value="提交" />
</form>
追问
这样写验证肯定是没问题了,但不提交只验证也没什么意义啊,目的是验证成功后提交
目前代码不管是PHP还是JS都能单独实现,问题只是怎么能合起来。
追答
我倒。。。看来是个新手。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把 onsubmit="return change()" 加到 <form>标签里去就可以了.
例如:
<form action="" methd="post" onsubmit="return change()">
你可以把你的PHP判断删了,它只负责接收参数就可以了.
例如:
<form action="" methd="post" onsubmit="return change()">
你可以把你的PHP判断删了,它只负责接收参数就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JS验证是在SUBMIT里面加个ONCLICK操作时进行判断的,不需要在PHP代码当中加,,
追问
那点击不还是提交了吗
追答
点击时会先执行ONCLICK里面返回的JS函数,TURE的话才会跳转到提交页面,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
onclick="return change()" 试试
追问
是这样吗?还是不行
追答
放form里面试试?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询