私はこの問題を一日中戦ってきました。誰かが私に答えてくれることを願っています。私は検索の束をして、答えを見つけるように見えることができません。jqueryダイアログ送信ボタンは有効/無効を制御できません
私には3つのフォームがあります。私は2番目のフォームの中で働いています。どのフォームも他のフォームに埋め込まれていません。
私は2つのフォーム要素、ドロップダウンリストとテキストボックス、およびそれが囲まれたフォームに投稿することを予期した送信ボタンを含むhidden divを持っています。 submitボタン)、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の問題を克服したので、フォームに戻しますが、これが本当の問題を引き起こしているのか疑問に思っています:
ドロップダウンリストそして私が投稿する前に、テキストボックスが両方必要とされているので、私は、その後、私はドロップdownlist上の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;
}
両方をイベントが正しく発生し、コードをステップ実行します。すべて正常に見えますが、ボタンの無効状態は変わりません。
助けてください。私はあなたがこの行のハッシュが欠落していると信じて
サイドノート、 '場合(ボタン&&ボタン!= nullは)'何もボタンに一致しない場合は、それだけで空のjQueryオブジェクトになり、不要です。しかし、テストしたい場合、 'if(button.length)'を使うべきです – Andrew
あなたが望む任意のメソッドを使用して、属性が実際に削除されているかどうか確認できますか? – Pluckerpluck
'var button = $(" PopupReleaseButton ");'行に '#'がありませんか? –