博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于form.submit()不能提交表单的错误原因
阅读量:4287 次
发布时间:2019-05-27

本文共 1620 字,大约阅读时间需要 5 分钟。

来源:

直接上代码把:

1: 
2:     

会员注册

3:     
4:         
5:             
6:                 
请认真填写以下内容
7:                 
8:                     用户名:
9:                 
10:                 
11:                     密码:
12:                 
13:                 
14:                     确认密码:
15:                 
16:                 
17:                     选择头像
18:                     
19:                     
20:                 
21:                 
22:                     验证码:
23:                     
24:                         code
25:                         换一张
26:                     
27:                 
28:                 
29:                     
30:                     
31:                 
32:             
33:         
34:     
35: 

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

1: /*注册表单提交*/
2: function formDeal()
3: {
4:     var btnSubmit = document.getElementById('submit');
5:     var formId = document.getElementById('registerForm');
6:     btnSubmit.onclick = function()
7:     {
8:         //表单的submit()方法不能提交表单
9:         formId.submit();
10:     }
11:
12: }

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

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

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

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

1: this.type="submit"

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

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

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

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

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

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

下一篇:

转载地址:http://yztgi.baihongyu.com/

你可能感兴趣的文章
查看线程CPU占用情况
查看>>
查看个线程的CPU 内存占用
查看>>
Fiddler 教程
查看>>
apache 设置用户注意事项
查看>>
svn中设置文件夹链接
查看>>
find ./ -name "*.cgi" |xargs -i cp "{}" ./cgi-bin/
查看>>
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
查看>>
mysql事务处理用法与实例详解
查看>>
利用iptables来配置linux禁止所有端口登陆和开放指定端口
查看>>
Python模块——struct
查看>>
mysql中select * for update
查看>>
linux vmstat 1 ,watch , pmap -p,
查看>>
MYSQL 相关
查看>>
python 构建client 程序
查看>>
c++ 加载so动态库中的资源
查看>>
加解密 签名
查看>>
linux top 命令分析
查看>>
Linux vmstat命令详解
查看>>
linux pmap命令
查看>>
MySQL数据同步【双主热备】
查看>>