当前位置: 代码迷 >> PHP >> document.SCForm.submit();无法提交数据解决方法
  详细解决方案

document.SCForm.submit();无法提交数据解决方法

热度:64   发布时间:2016-04-28 16:56:20.0
document.SCForm.submit();无法提交数据
表单校验后提交,但收不到数据。
下面这部分是校验函数:
<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改个名字就可以了。
  相关解决方案