У меня есть форма, куда я загружаю файлы на сервер.Все работало как нужно, пока я не добавил логику проверки для кнопки отправки (отключите ее, пока файл не выбран, и включите ее после выбора).Теперь моя отправка больше не запускает действие POST.Нужно ли явно добавлять onclick
слушатель?Я предполагаю, что jQuery изменил некоторые свойства, которые не позволяют обработчику щелчков работать по умолчанию?
<form name="uploadFile" method="POST" action="uploadFile" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br />
<input type="submit" name="submit" id="importkey" value="Import Key" />
</form>
function setSubmitBtnState() {
var sb = jQuery('#importkey');
var dclasses = 'ui-button-disabled ui-state-disabled';
if (jQuery('#file').val() == '') {
sb.attr('disabled', 'disabled');
sb.addClass(dclasses);
} else {
sb.removeAttr('disabled');
sb.removeClass(dclasses);
}
}
Chrome Debugger показывает: Состояние кнопки отключено
<input type="submit" name="submit" id="importkey" value="Import Key" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-disabled ui-state-disabled" role="button" aria-disabled="false" disabled="disabled">
Состояние кнопки включено
<input type="submit" name="submit" id="importkey" value="Import Key" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false">
Итак, класс удален.
Этот код исправил проблему.
jQuery("#importkey").button().click(function() {
});