Кнопка отправки диалога jquery не может управлять включением / выключением - PullRequest
0 голосов
/ 22 февраля 2012

Я боролся с этой проблемой весь день.Я надеюсь, что у кого-то есть ответ для меня.Я много раз искал и не могу найти ответ.

У меня есть страница, на которой есть 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:

function enablePopupRelease() {
    var button = $("PopupReleaseButton");
    if (button && button != null) {
        button.attr("disabled", "disabled");
        if ($("#ResolutionTypeCode").val() != "" && $("#ResolutionComments").val() != "") {
            button.removeAttr("disabled");
        }
    }
    return true;
}

Оба события срабатывают правильно, и я перешагиваю код;все вроде нормально, но состояние отключения кнопки не меняется.

Пожалуйста, помогите.

Ответы [ 4 ]

2 голосов
/ 22 февраля 2012

Я полагаю, вам не хватает хэша в этой строке:

Изменение:

var button = $("PopupReleaseButton");

до

var button = $("#PopupReleaseButton");
0 голосов
/ 22 февраля 2012

disabled это не атрибут, это свойство - попробуйте вместо этого использовать button.prop('disabled',true) и button.prop('disabled',false).

http://api.jquery.com/prop/

0 голосов
/ 22 февраля 2012

Используете ли вы виджет кнопки jQuery UI для кнопки отправки формы?Если это так, вам нужно будет позвонить

$("#PopupReleaseButton").button({disabled: true});

, чтобы отключить кнопку.

0 голосов
/ 22 февраля 2012

во-первых, я бы очистил некоторый код следующим образом:

function enablePopupRelease() {     var button = $("PopupReleaseButton");     if (button) {         button.attr("disabled", "disabled");         if ($("#ResolutionTypeCode").val() && $("#ResolutionComments").val()) {             button.removeAttr("disabled");         }     }     return true; } 

Дайте мне знать, если что-то изменится, пожалуйста?

если вы взломаете код ... он останавливается на кнопке.removeAttr ( "отключено");пожалуйста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...