html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

JS中的form.submit()不能提交表单的错误原因_javascript技巧_

[ ] 已经帮助:人解决问题

直接上代码把:TKxHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
TKxHTML5中文学习网 - HTML5先行者学习网
<div id="register">TKxHTML5中文学习网 - HTML5先行者学习网
     <h4>会员注册</h4>TKxHTML5中文学习网 - HTML5先行者学习网
     <div class="formdiv">TKxHTML5中文学习网 - HTML5先行者学习网
         <form method="post" action="register.php?action=register" name="register" id="registerForm">TKxHTML5中文学习网 - HTML5先行者学习网
             <dl>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dt>请认真填写以下内容</dt>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dd class="hasspan">TKxHTML5中文学习网 - HTML5先行者学习网
                     用户名:<input type="text" name="username">TKxHTML5中文学习网 - HTML5先行者学习网
                 </dd>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dd class="hasspan">TKxHTML5中文学习网 - HTML5先行者学习网
                     密码:<input type="password" name="pwd">TKxHTML5中文学习网 - HTML5先行者学习网
                 </dd>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dd class="hasspan">TKxHTML5中文学习网 - HTML5先行者学习网
                     确认密码:<input type="password" name="pwdagain">TKxHTML5中文学习网 - HTML5先行者学习网
                 </dd>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dd id="tximg">TKxHTML5中文学习网 - HTML5先行者学习网
                     <img src="img/face/m01.gif" alt="选择头像" id="faceimg">TKxHTML5中文学习网 - HTML5先行者学习网
                     <input type="hidden" name="touxiang" value="">TKxHTML5中文学习网 - HTML5先行者学习网
                     <label id="imgsrclabel">m01.gif</label>TKxHTML5中文学习网 - HTML5先行者学习网
                 </dd>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dd style="margin-right:120px;">TKxHTML5中文学习网 - HTML5先行者学习网
                     验证码:<input type="text" name="code">TKxHTML5中文学习网 - HTML5先行者学习网
                     <span>TKxHTML5中文学习网 - HTML5先行者学习网
                         <img src="code.php" alt="code" id="code" name="code">TKxHTML5中文学习网 - HTML5先行者学习网
                         <a href="#code" id="change">换一张</a>TKxHTML5中文学习网 - HTML5先行者学习网
                     </span>TKxHTML5中文学习网 - HTML5先行者学习网
                 </dd>TKxHTML5中文学习网 - HTML5先行者学习网
                 <dd class="btns">TKxHTML5中文学习网 - HTML5先行者学习网
                     <input type="button" name="submit" id="submit" value="注册">TKxHTML5中文学习网 - HTML5先行者学习网
                     <input type="button" name="quit" id="quit" value="退出">TKxHTML5中文学习网 - HTML5先行者学习网
                 </dd>TKxHTML5中文学习网 - HTML5先行者学习网
             </dl>TKxHTML5中文学习网 - HTML5先行者学习网
         </form>TKxHTML5中文学习网 - HTML5先行者学习网
     </div>TKxHTML5中文学习网 - HTML5先行者学习网
 </div>TKxHTML5中文学习网 - HTML5先行者学习网
 
TKxHTML5中文学习网 - HTML5先行者学习网

表单数据提交到本页面,下面是js处理TKxHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
TKxHTML5中文学习网 - HTML5先行者学习网
 /*注册表单提交*/TKxHTML5中文学习网 - HTML5先行者学习网
 function formDeal()TKxHTML5中文学习网 - HTML5先行者学习网
 {TKxHTML5中文学习网 - HTML5先行者学习网
     var btnSubmit = document.getElementById('submit');TKxHTML5中文学习网 - HTML5先行者学习网
     var formId = document.getElementById('registerForm');TKxHTML5中文学习网 - HTML5先行者学习网
     btnSubmit.onclick = function()TKxHTML5中文学习网 - HTML5先行者学习网
     {TKxHTML5中文学习网 - HTML5先行者学习网
         //表单的submit()方法不能提交表单TKxHTML5中文学习网 - HTML5先行者学习网
         formId.submit();TKxHTML5中文学习网 - HTML5先行者学习网
     }TKxHTML5中文学习网 - HTML5先行者学习网

 }TKxHTML5中文学习网 - HTML5先行者学习网

TKxHTML5中文学习网 - HTML5先行者学习网
 如果表单提交,在本页面有一段提示信息TKxHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
TKxHTML5中文学习网 - HTML5先行者学习网
 if(!empty($_GET['action']) && $_GET['action'] == 'register')TKxHTML5中文学习网 - HTML5先行者学习网
 {TKxHTML5中文学习网 - HTML5先行者学习网
     echo '你提交了数据';TKxHTML5中文学习网 - HTML5先行者学习网
     exit();TKxHTML5中文学习网 - HTML5先行者学习网
 }TKxHTML5中文学习网 - HTML5先行者学习网
TKxHTML5中文学习网 - HTML5先行者学习网
结果是测试了许久都没有看到提示信息,以为是代码错了或者方法写错了,仔细核对,在结果官方文档,确认没有出错。TKxHTML5中文学习网 - HTML5先行者学习网

formId.submit()不能提交,就暂时只好把btnSubmit的type改为submitTKxHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
TKxHTML5中文学习网 - HTML5先行者学习网
 this.type="submit"TKxHTML5中文学习网 - HTML5先行者学习网
TKxHTML5中文学习网 - HTML5先行者学习网
在网上查了资料,原因归结为两点:TKxHTML5中文学习网 - HTML5先行者学习网

1、表单中不能有name=”submit” 的标签TKxHTML5中文学习网 - HTML5先行者学习网

2、表单中不能缺少《enctype=”multipart/form-data”》TKxHTML5中文学习网 - HTML5先行者学习网

经测试,此两点乃荒谬,并没有解决我的问题(或许是我的问题环境不一样)TKxHTML5中文学习网 - HTML5先行者学习网

后来,以为论坛的坛友建议我把注册按钮的ID改个名字,不用submit。改正之后,表单正常提交,提示信息出现。TKxHTML5中文学习网 - HTML5先行者学习网

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

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助