请教jquery选择器form表单提交问题

谁用了我的英文名 2015-12-30 10:59:45
问题描述:
项目中出现form表单嵌套form表单的情形,且外围form和内部form的id属性值是一样的。
使用$("#id").submit()提交表单时,发现被提交的是内部form表单。
然而在静态页面中进行相关测试时,被提交的却是外部form表单,相关代码如下:

<body>
<form id="a" action="https://www.baidu.com#1" type="get">
<input type="hidden" name="a" value="a" />
<input type="hidden" name="id" value="a" />
<form id="a" action="https://www.baidu.com#2">
<input type="hidden" name="b" value="b" type="get"/>
<input type="hidden" name="id" value="b" />
<input type="button" onclick="fun()" value="tijiao" />
</form>
</form>
<script>

function fun() {
//alert($($("#a")[0]).serialize());
$("#a").submit();
}
</script>

项目中遇到的实际问题是:
$("#id").submit()提交内部表单
$("#id")[0]获取到的却是外部表单
并且之前的学习中也说过:在选择器选择到多个jquery对象时,只有索引为[0]的那个会被执行接下来的方法
静态页面测试的结果也映证这个问题。
所以我的疑惑就是:什么原因会导致"$('#id').submit()方法提交内部表单"这个问题?
...全文
220 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2015-12-30
  • 打赏
  • 举报
回复



  • 打赏
  • 举报
回复
表单嵌套表单id还一样的…… 你这属于故意找茬的
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
Id 干嘛用一样的,id 就是区分来的,你还定义一样的。
我哪知道啊 我要把这段代码修改掉,然而我理解的是要提交大表单,结果弄了半天都不对,最后发现居然提交的是小表单。 我就特别想弄明白为什么会这样???
tony4geek 2015-12-30
  • 打赏
  • 举报
回复
Id 干嘛用一样的,id 就是区分来的,你还定义一样的。
zkc1992 2015-12-30
  • 打赏
  • 举报
回复
链接后面有4个参数,明明是两个表单都提交了啊
  • 打赏
  • 举报
回复
引用 6 楼 zkc1992 的回复:
直接给个name属性,name.submit()不就行了
=_=功能已经是实现了的,我不需要实现功能,但是我需要优化代码……
zkc1992 2015-12-30
  • 打赏
  • 举报
回复
直接给个name属性,name.submit()不就行了
  • 打赏
  • 举报
回复
引用 4 楼 rui888 的回复:
请问上下两张图的选择器有什么区别呀?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧