form.submit()不能提交表单的原因分析

时间: 作者:白单

  

[form,submit,提交表单]form.submit()不能提交表单的原因分析

  

直接上代码把:  

  

代码如下:

  
  
  
  

会员注册

  
  
  
  
  
  
  
  
请认真填写以下内容
  
  
  
  用户名:  
  
  
  
  
  密码:  
  
  
  
  
  确认密码:  
  
  
  
  
  选择头像  
    
    
  
  
  
  
  验证码:  
    
  code  
  换一张  
  
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  

  

表单数据提交到本页面,下面是js处理  

  

代码如下:

  
  /*注册表单提交*/  
  function formDeal()  
  {  
  var btnSubmit = document.getElementById('submit');  
  var formId = document.getElementById('registerForm');  
  btnSubmit.onclick = function()  
  {  
  //表单的submit()方法不能提交表单  
  formId.submit();  
  }  

  

}  
  

  

  

如果表单提交,在本页面有一段提示信息  

  

代码如下:

  
  if(!empty($_GET['action']) && $_GET['action'] == 'register')  
  {  
  echo '你提交了数据';  
  exit();  
  }  
  
  

  

结果是测试了许久都没有看到提示信息,以为是代码错了或者方法写错了,仔细核对,在结果官方文档,确认没有出错。

  

  

formId.submit()不能提交,就暂时只好把btnSubmit的type改为submit  

  

代码如下:

  
  this.type="submit"  
  
  

  

在网上查了资料,原因归结为两点:  

  

1、表单中不能有name=”submit” 的标签  

  

2、表单中不能缺少《enctype=”multipart/form-data”》  

  

经测试,此两点乃荒谬,并没有解决我的问题(汇盛国际平台或许是我的问题环境不一样)  

  

后来,以为论坛的坛友建议我把注册按钮的ID改个名字,不用submit。改正之后,表单正常提交,提示信息出现。  

  

最后总结:button的id不要设置为submit,否则可能会引起混淆,导致表单的submit()方法不能提交表单。在命名ID时,名字最好不要和现有的api在名称上重复,避免不必要的烦扰。

  

(责任编辑:admin)

推荐图片Related

相关文章Related

查看更多热门新闻


首页 | 特效插件 | 常用代码 | 样式素材 | 脚本代码 | css特效

Copyright © 2017-2018 汇盛国际 版权所有

系统要求:本站自适应各终端浏览器分辨率

请使用Google、Firefox、IE9、百度浏览器登录网站

网站地图 | RSS订阅 | 汇盛国际平台