所以我有一个问题,我在同一个网页上有两个具有相同ID的表单(假设我无法轻易地更改任何表单的ID,并且页面上都需要这两个表单。)
当我提交其中一个表格时,它也提交另一个表格,空白,创建两个提交。
我想禁用当前焦点的表单的相反形式。因此,例如,如果页面底部的表单的提交按钮正在提交,那么理想情况下,顶部表单已经被javascript禁用并消除了第二次提交。
以下是顶层表单的代码 -
<div id="gf_top">
<form method="post" enctype="multipart/form-data" id="gform_1" action="/">
底部形式 -
<div id="gf_bottom">
<form method="post" enctype="multipart/form-data" id="gform_1" action="/">
我知道零javascript / JQuery。
我怀疑我需要使用类似的东西(基于一些谷歌搜索)
$("#gf_top #gform1 :input").attr('disabled', true);
但我真的不知道为一个人的焦点添加的代码会禁用另一个。我想还需要有代码来删除禁用的属性当/如果禁用的表单获得焦点然后禁用其他... Sheesh,任何帮助非常感谢!
答案 0 :(得分:2)
你不能(不应该)有两个具有相同ID的元素。 更改ID 。
要获取没有ID的表单,您可以使用其标记名称:
// All inputs of gf_top form are disabled
$("#gf_top form input").attr('disabled', true);
W3 says关于id
属性:
此属性为元素指定名称。该名称在文档中必须是唯一的。
答案 1 :(得分:0)
如果你不能给你自己的表格,你至少会试图摆脱那些ids。在呈现html之前你必须这样做(服务器端)。
一旦你到达那里,你不必担心禁用任何东西。仅发送按下提交按钮的表单。