当另一个窗体有焦点时,禁用其中一个窗体
Disable one on page form when the other form has focus
所以我有一个问题,我有两个表单在同一网页上具有相同的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,任何帮助非常感激!
不能(不应该)有两个具有相同id的元素。修改id。
要获得没有id的表单,您可以使用它的标签名称:
// All inputs of gf_top form are disabled
$("#gf_top form input").attr('disabled', true);
W3说关于id
属性:
该属性为元素指定一个名称。此名称在文档中必须唯一。
如果你不能给你的表单一个自己的id,你至少会尝试摆脱这些id。您必须在呈现html(服务器端)之前完成此操作。
一旦你到达那里,你不必担心禁用任何东西。只有按下提交按钮的表单才会被发送。
相关文章:
- 仅为一个窗体运行应用程序脚本
- 在一个窗体中处理具有相同名称和值的多个按钮
- Createjs DomElement创建一个窗体
- 禁用基于rails中另一个字段的字段窗体
- CRM-从另一个窗体检索选定的选项集
- Asp.Net 将多个窗体添加到一个窗体时,用户控件无法正常工作
- 未捕获的类型错误: $(..).文档窗体不是一个函数
- 如何在一个窗体上创建子网格并将其值传递给另一个窗体中的查找
- 制作另一个窗体,该窗体将显示列表(自动完成)并将用作所选字段的值
- 使用 jQuery 在窗体中选择一个父项,然后选择子项
- 启用最后一个 JS 函数时动态下拉窗体中断
- 仅执行的第一个函数-由两个窗体的.osubmit调用的两个函数中的一个
- 窗体-通过在select标记中选择一个选项来显示隐藏字段
- 常规按钮和提交按钮在一个窗体don'不起作用
- 两个按钮一个窗体
- 用另一个下拉列表替换窗体上的下拉列表
- 如何禁用多部分窗体上的下一个按钮
- 当另一个窗体有焦点时,禁用其中一个窗体
- 在依赖于另一个字段选择的窗体中隐藏表的某个部分
- 创建一个angular指令来改变窗体的占位符文本