[英]jquery dialog submit button cannot control enable/disable
我整天都在与这个问题作斗争。 我希望有人能为我解答。 我做了很多搜索,但似乎找不到答案。
我的页面上有3种形式。 我正在第二种表格内工作。 没有一个窗体被嵌入另一个窗体中。
我有一个隐藏的div,其中包含两个表单元素,一个下拉列表和一个文本框,以及一个提交按钮,我希望它可以将其发布到它所包含的表单中。在表单本身的另一个按钮上(不是提交按钮),我有启动jquery.Dialog的javascript,该代码如下所示:
function showReleaseDiv() {
var div = $("#ReleaseHoldsDiv");
var f = div.closest("form");
div.dialog({ width: 270, height: 187, modal: true, title: 'Bulk Hold Resolution' });
div.parent().appendTo(f);
}
这部分功能正常。 我已经克服了典型的jquery问题,该问题将对话框的内容从表单中拉出,因此我将其放回表单中,但是想知道这是否引起了我的真正问题:
张贴之前,下拉列表和文本框都是必需的,因此我默认将“提交”按钮设置为“已禁用”,然后下拉列表中有一个onchange事件,文本框上的onkeyup调用以下javascript:
function enablePopupRelease() {
var button = $("PopupReleaseButton");
if (button && button != null) {
button.attr("disabled", "disabled");
if ($("#ResolutionTypeCode").val() != "" && $("#ResolutionComments").val() != "") {
button.removeAttr("disabled");
}
}
return true;
}
这两个事件均正确触发,我逐步执行了代码; 一切似乎都很好,但是按钮禁用状态不会改变。
请帮忙。
我相信您在此行上缺少哈希:
更改:
var button = $("PopupReleaseButton");
至
var button = $("#PopupReleaseButton");
首先,我将清理一些代码,如下所示:
function enablePopupRelease() { var button = $("PopupReleaseButton"); if (button) { button.attr("disabled", "disabled"); if ($("#ResolutionTypeCode").val() && $("#ResolutionComments").val()) { button.removeAttr("disabled"); } } return true; }
请让我知道有什么不同吗?
如果您突破了代码……它会停在button.removeAttr(“ disabled”);吗? 请?
您是否将jQuery UI按钮小部件用于表单的提交按钮? 如果是这样,您将需要致电
$("#PopupReleaseButton").button({disabled: true});
禁用按钮。
disabled
不是属性,而是属性-尝试改用button.prop('disabled',true)
和button.prop('disabled',false)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.