表单校验后提交,但收不到数据。
下面这部分是校验函数:
<script type="text/javascript" src="js/sc.js" ></script>
<script>
function jiaoyan(){
if (document.SCForm.G_TrueName.value==""){
alert("请输姓名!");
document.SCForm.G_TrueName.focus();
}else if (document.SCForm.G_IDNum.value==""){
alert("请输身份证号!");
document.SCForm.G_IDNum.focus();
}else if(SCMIEA_isCardNo(document.SCForm.G_IDNum.value)){
alert("请输正确的身份证号格式!");
document.SCForm.G_IDNum.focus();
}else if (document.SCForm.G_Phone.value==""){
alert("请输联系电话,方便联系!");
document.SCForm.G_Phone.focus();
}else if(!SCMIEA_isMobile(document.SCForm.G_Phone.value)){
alert("请输入11位手机号!");
document.SCForm.G_Phone.focus();
}else if(document.SCForm.G_Email.value==""){
alert("请输电子邮箱!");
document.SCForm.G_Email.focus();
}else if(!SCMIEA_isEmail(document.SCForm.G_Email.value)){
alert("请输正确的电子邮箱!");
document.SCForm.G_Email.focus();
}else{
var cm=window.confirm('是否确认申请VIP?');
if(cm){
document.SCForm.submit();
}
}
}
</script>
下面部分是表单:
<form action='vipzhuce.php' name='SCForm' method="POST">
<table>
<tr>
<td>真实姓名:</td><td><input type='text' name='G_TrueName' value="<?php echo $row['G_TrueName']?>"/></td>
</tr>
<tr>
<td>性别:</td><td><input type='radio' name='G_Sex' checked value='1'/>男
<input type='radio' name='G_Sex' value='0'/>女</td>
</tr>
<tr>
<td>身份证号:</td><td><input type='text' name='G_IDNum' value="<?php echo $row['G_IDNum']?>"/></td>
</tr>
<tr>
<td>地址:</td><td><input type='text' name='G_Address' value="<?php echo $row['G_Address']?>"/></td>
</tr>
<tr>
<td>联系电话:</td><td><input type='text' name='G_Phone' value="<?php echo $row['G_Phone']?>"/></td>
</tr>
<tr>
<td>电子邮箱:</td><td><input type='text' name='G_Email' value="<?php echo $row['G_Email']?>"/></td>
</tr>
<input type='hidden' name='G_ID' value="<?php echo $row['G_ID']?>" />
<input type='button' name='submit' value='申请VIP' onclick='jiaoyan()' />
</table>
</form>
下面是php获取数据:
<?php
if(isset($_POST['submit'])){
$sql1="update H_Guest set G_TrueName='{$_POST['G_TrueName']}',G_Sex='{$_POST['G_Sex']}',G_IDNum='{$_POST['G_IDNum']}',G_Address='{$_POST['G_Address']}',G_Phone='{$_POST['G_Phone']}',G_Email='{$_POST['G_Email']}' where G_ID='{$_POST['G_ID']}'";
$query1=mysql_query($sql1);
if($query1){
echo "<script language='javascript'>";
echo "alert('提交成功!');";
echo "window.location.href='personal.php';";
echo "</script>";
}
}
?>
这个可以进行到 var cm=window.confirm('是否确认申请VIP?');,这个点确定后就没有下文了。去掉这个判断也是没有下文。
如果不要校验直接submit就可以获取数据。
------解决思路----------------------
很可惜,修改后的代码还是不能提交。
控制台报 TypeError: document.SCForm.submit is not a function 错误
提交代码没错,问题出在表单元素命名上。 <input type='button' name='submit' value='申请VIP' onclick='jiaoyan()' /> 中的submit与document.SCForm.submit() 产生了歧义。你把button的name改个名字就可以了。