Задать вопрос
Mesuti
@Mesuti

Как сменить событие с submit на button?

Привет!
Есть форма.
HTML
<form>
     <input type="text" value="" placeholder="Введите телефон">
     <button type="button">Заказать звонок</button>
</form>

JS
$(document).ready(function() {
	//E-mail Ajax Send
	$("form").submit(function() { 
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "mail.php", //Change
			data: th.serialize()
		}).done(function() {
			alert("Thank you!");
			setTimeout(function() {
				// Done Functions
				th.trigger("reset");
			}, 1000);
		});
		return false;
	});

});



В js коде написано, что бы скрипт работал в форме по нажатию submit.
Но там вместо submit установлен type="button"
Как переделать JS скрипт на срабатывание от button?
Может id присвоить кнопке? и на его клик повесить Ajax.
  • Вопрос задан
  • 1517 просмотров
Подписаться 1 Средний 3 комментария
Решения вопроса 2
@PushMeNow
.NET Developer
если говорить вкратце, то submit - это событие не кнопки, а формы, т.е. оно срабатывает не по нажатию кнопки какой бы она не имела тип, а когда форма отправляется на сервер. Для решения конкретно вашего вопроса: прикрепите событие к кнопке примерно так:
$('form button[type=button]').on('click',function(){
//тут мы сериализуем данные формы и отправляет ajax-запросом, ну и делаем всё, что нам нужно
});
Ответ написан
Комментировать
Alexandr220
@Alexandr220
developer
submit это не тип кнопки, это событие обработки формы
его может вызывать что угодно
субмит надо навешивать на форму а не на кнопку

<form id="myform">
     <input type="text" value="" placeholder="Введите телефон">
     <button>Заказать звонок</button>
</form>

//тут у нас допустим jQuery
$('#myform button').click(function() {
//тут у нас всякое
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
jeerjmin
@jeerjmin
<input value="Нажми меня" onclick="alert('Клик!')" type="button">


<input type="button" id="elem" onclick="alert('До')" value="Нажми меня" />
<script>
  elem.onclick = function() { // перезапишет существующий обработчик
    alert( 'После' ); // выведется только это
  };
</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы