本文共 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:
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/