我整天都在和这个问题作斗争。我希望有人能给我一个答案。我做了很多搜索,似乎无法找到答案。
我有一个页面上有3个表单。我在第二种形式下工作。没有任何表格嵌入另一种表格中。
我有一个隐藏的div,它包含两个表单元素,一个下拉列表和一个文本框,以及一个提交按钮,我预计它会发布到它所包含的表单中。在表单内的另一个按钮上(不提交按钮),我有javascript启动jquery.Dialog,该代码如下所示:
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:< / p>
function enablePopupRelease() {
var button = $("PopupReleaseButton");
if (button && button != null) {
button.attr("disabled", "disabled");
if ($("#ResolutionTypeCode").val() != "" && $("#ResolutionComments").val() != "") {
button.removeAttr("disabled");
}
}
return true;
}
两个事件都正确触发,我逐步完成代码;一切似乎都很好,但按钮禁用状态不会改变。
请帮忙。
答案 0 :(得分:2)
我相信你错过了这一行的哈希:
变化:
var button = $("PopupReleaseButton");
到
var button = $("#PopupReleaseButton");
答案 1 :(得分:0)
首先我会按如下方式清理一些代码:
function enablePopupRelease() { var button = $("PopupReleaseButton"); if (button) { button.attr("disabled", "disabled"); if ($("#ResolutionTypeCode").val() && $("#ResolutionComments").val()) { button.removeAttr("disabled"); } } return true; }
请告诉我是否有任何不同?
如果你突破代码......是否停在button.removeAttr(“禁用”);请?
答案 2 :(得分:0)
您是否在表单的提交按钮中使用jQuery UI按钮小部件?如果是这样,您需要致电
$("#PopupReleaseButton").button({disabled: true});
禁用按钮。
答案 3 :(得分:0)
disabled
不是属性,而是属性 - 请尝试使用button.prop('disabled',true)
和button.prop('disabled',false)
。