Я пытаюсь получить значение кнопки (поле ввода или поля кнопки) каждый раз при отправке формы. Я думаю, что у меня проблемы с логикой, потому что вторая не работает.Если это, но не так, то если это, но не это ... Логика
Здесь на jsFiddle http://jsfiddle.net/uqj88/23/
Это особенно часть, которая не работает должным образом. Если он не находит вход, где вводится тип, он даже не ищет элемент кнопки.
$('form').submit(function() {
if ($(this).children("input[type='submit']") != "") {
submitButton = $(this).children("input[type='submit']");
if (submitButton.attr("value") != ""){
linkText = submitButton.attr("value") + " - Button";
}
else if ((submitButton.attr("value") === "") && (submitButton.prop("id") != "")) {
linkText = submitButton.prop("id") + " - Button";
}
else if ((submitButton.attr("value") === "") && (submitButton.prop("class") != "")) {
linkText = submitButton.prop("class") + " - Button";
}
else {
linkText = "Form Submitted - Button";
}
}
else if ($(this).children("button") != "") {
submitButton = $(this).children("button");
linkText = submitButton.text() + " - Button";
}
window.alert(linkText);
});
Oy; рефакторинга, затем выясните это. –
'$ (this) .children (" button ")' никогда не будет равно '' '', это всегда объект, даже если он не находит элементы. То же самое верно для вашего первого оператора if. –