У меня есть несколько форм на мобильной странице jQuery, которые используют один и тот же процессор php. Я смог понять, как получить jQuery для отправки только формы, содержащей кнопку отправки, которую пользователь нажал, но я не могу понять, как изменить значение кнопки, которую пользователь нажал.jQuery Мобильный идентификатор нажал кнопку в форме и изменил значение
Я бы хотел, чтобы текст кнопки мог быть изменен только для кнопки, которую пользователь нажал.
Пока что нижеприведенный сценарий изменит текст всех кнопок отправки, а не только тот, который нажал пользователь.
Мой JQuery:
$("form input[type=submit]").on("click", function(e){
$.post('doStuff.php', $(this).closest("form").serialize(), function(data) {
//changes the value of all submit buttons
$('input[type=submit]').val('Thank You').button("refresh");
//the rest of these do not work at all
$('input[type=submit]', $(this).closest('form')).val('Thank You').button("refresh");
$('input[type=submit]', $(this)).val('Thank You').button("refresh");
$('input[type=submit]', $(this).parent('form')).val('Thank You').button("refresh");
}).error(function(){
alert("Error submiting the form");
});
});
Мой HTML:
<form action="doStuff.php" method="post" data-ajax='false'>
<input type="submit" name="submit" value="stuff" id="btnSubmit">
</form>
<form action="doStuff.php" method="post" data-ajax='false'>
<input type="submit" name="submit" value="more stuff" id="btnSubmit">
</form>
<form action="doStuff.php" method="post" data-ajax='false'>
<input type="submit" name="submit" value="a ton of stuff" id="btnSubmit">
</form>
Кто-нибудь есть идеи, как сделать то, что я ищу делать?
'var $ self = $ (this);' поверх обработчика кликов, а затем использовать $ self внутри '$ .post()' success callback. Отладка показала бы вам, откуда ваша проблема –