#javascript
#javascript
Вопрос:
У меня есть следующий код на моей странице входа в систему для отправки.
$("form").submit(function()
{setTimeout(function(){
alert("Thank you for requesting an account. Once your request is reviewed by an administrator, you will receive an email with your login credentials."); location.reload();
submit = true;}, 3000);
});
Проблема в том, что у меня есть другая кнопка отправки, и это сообщение также появляется при нажатии на эту кнопку. Как я могу это исправить?
Я хочу, чтобы одна отправка отображала это всплывающее окно, а другая кнопка отправки для входа в приложение без отображения этого всплывающего окна.
Комментарии:
1. не могли бы вы опубликовать соответствующий код??
2. привязать функцию к событию нажатия кнопки, а не к отправке формы
Ответ №1:
Вместо того, чтобы делать оповещение при отправке формы, сделайте это нажатием кнопок, а затем вызовите submit .
$( "#firstButton" ).click(function() {
alert('whatever');
$( "#form_id" ).submit();
});
$( "#secondButton" ).click(function() {
$( "#form_id" ).submit();
});
Кроме того, чтобы предотвратить автоматическую отправку кнопок в вашей форме, измените их типы с type=»submit» на type=»button». Таким образом, они не будут автоматически запускать отправку. Вместо этого вы будете запускать отправку только явно внутри ваших функций click.
Ответ №2:
используйте отдельные идентификаторы кнопок и вызывайте функцию для отправки from . также укажите уникальный идентификатор для формы, поскольку использование тега формы вызовет функцию отправки всех элементов формы
$('#buttonid').click(function(e){
e.preventDefault();
submitFunction(); }); // the function to submit the from with id #formID
function submitFunction(){
$("#formID").submit(function()
{setTimeout(function(){
alert("Thank you for requesting an account. Once your request is reviewed by an administrator, you will receive an email with your login credentials."); location.reload();
submit = true;}, 3000);
});
}
Ответ №3:
Вы не должны использовать $("form")
, потому что это будет соответствовать всем элементам формы. Вы должны назначить идентификатор или атрибут класса своим формам, чтобы вы соответствовали только этим конкретным элементам.
$("#form-id").submit(function() ...
^^^^^^^^
И ваша HTML-форма:
<form id="form-id">
Комментарии:
1. @Rax … найдите мой HTML-код here…jsfiddle.net/ur974nex ….. каким должен быть мой идентификатор формы … я пробовал различные варианты, но не получил желаемого результата…
2. @Rax .. извините за глупый вопрос.. где я должен поместить это в свой код ….<идентификатор формы =»form-id»>
3. Это ваша существующая HTML-форма. Вам просто нужно добавить
id="form-id"
в свою форму атрибуты.4. Нет проблем. 🙂