提交表单时,怎么控制先进行JS验证,如果通过JS验证再连接服务器执行PHP语句呢?

求大神们帮忙了!!!
我想先判断表单部分的内容是否为空执行JS部分,如果为空就焦点为空的元素。如果不为空再去执行PHP部分的内容。
1、这是.PHP部分
$a = "UPDATE test SET user= $_POST[user] WHERE id = $_POST[id]";
$b = "SELECT id FROM test WHERE id = $_POST[id]";

if (IsEmpty()=true){
$ljmysql = mysql_connect("localhost","root","");
if (!$ljmysql){
die('mysql不能连接!'.mysql_error());
}

$ljdb = mysql_select_db("007c",$ljmysql);
if (!$ljdb){
die('不能打开datebase!'.mysql_error());
}

mysql_query('set names gbk');//根据字段的编码不同,要统一。

$result = mysql_query($b,$ljmysql);
$num = mysql_num_rows($result);

if ($num == 0){
echo '文件号'.$_POST[id].'不存在';
}
else {
mysql_query($a,$ljmysql);
echo '数据更新成功';
}
mysql_close($ljmysql);
}
?>
2、这是.JS部分
function IsEmpty(){
var a=document.getElementById("id").value;
if(a==""){
alert ("文件号不能为空"+"\n"+"请加上");
id.focus();
return false;
}
else{
return true;
}
}
3、这是.html部分
<html>
<head>
<script type="text/javascript" src="update.js"></script>
<form action = "update.php" method = "POST">
</form>
</head>
<body>
<form action = "update.php" onSubmit="return IsEmpty()" method = "POST">
<table>
<tr><td><label for = "id">文件号:</label></td><td><input type = "text" size="8" name = "id" /></td></tr>
<tr><td><label for = "user">姓名:</label></td><td><input type = "text" size = "8" name = "user" /></td></tr>
<tr><td><input type = "submit" name = "submit" value = "提交更新" />
<input type = "reset" name = "reset" value = "重新填写" /></td></tr>
</table>
</form>
</body>
</html>

运行以后提示的错误
Fatal error: Can't use function return value in write context in D:\Program Files\PHP LIST\wamp\www\update.php on line 19

我把代码都写在一个文件里面 命名为 test.php 你可以测试一下 我只是写了个意思 具体的操作你可以自己再写 我测试没问题了

<html>
<head>
<script type="text/javascript" src="update.js"></script>
<form action = "update.php" method = "POST">
</form>
</head>
<body>
<form action = "test.php" onsubmit="return my_check();" method = "POST">
<table>
<tr><td><label for = "id">文件号:</label></td><td><input type = "text" size="8" name = "id" id='my_id' /></td></tr>
<tr><td><label for = "user">姓名:</label></td><td><input type = "text" size = "8" name = "user" /></td></tr>
<tr><td><input type = "submit" name = "submit" value = "提交更新"/>
<input type = "hidden" name = "action" value = "add" />
<input type = "reset" name = "reset" value = "重新填写" /></td></tr>
</table>
</form>
</body>
</html>

<script language=javascript>
function my_check(){
var a = document.getElementById("my_id");
if(a.value==""){
alert ("文件号不能为空"+"\n"+"请加上");
a.focus();
return(false);
}
else{
return(true);
}
}
</script>

<?
$act = $_POST['action'];
if($act == 'add'){
$id = $_POST['id'];
echo "您输入了".$id;
}
?>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-03
给你两个语句
document.form.action = "要提交到的页面";//设置页面

document.form.submit();//提交

把提交的按扭设成Botton,点击时不要提交表单,而是调研JS提交表单,以上两条语句为提交表单的,放到你的JS 程序里。form改成你的表单名称,如果不是IE的话,
document.form应改成document.getElementById("form的名称")

祝你好运
第2个回答  2011-06-02
提交的时候调用 function验证方法,目标是一个验证页面,如果验证成功就跳转到成功页面连接
第3个回答  2011-06-02
自己写一个js的sub,提交form时调用一下
相似回答