2017-02-04 2 views
-1

Чтобы сделать его более ясным. JavaScript. Мне нужно повторить поведение подтверждения(), но без использования подтверждения() xd.Сделать в submit событие ждать ввода пользователем? JS

Так что в основном я должен остановить отправку и ждать от пользователя истинного/ложного значения и отправить форму.

Теперь я предотвращаю отправку формы, а затем, когда пользователь нажимает «да», принудительно подайте submit с .submit().

Но я не знаю, есть ли способ сохранить событие отправки, ожидающее истинного или ложного возврата от другой функции.

спасибо.

Редактировать: Я только что понял, что не могу сделать .submit(), потому что он снова запустит onsubmit.

+0

Может быть, посмотреть на JQuery, чтобы предотвратить покориться и делать свое дело , – Rienk

+0

показать некоторые эффекты, чтобы люди могли вам помочь. Отобразите div или что-то в этом роде, затем присоедините слушателей, чтобы идентифицировать выбранную опцию, а затем запустить обратный вызов. – Gacci

+0

Используйте кнопку, чтобы показать подтверждение, триггер отправить при подтверждении – charlietfl

ответ

0

В Confirm():

document.getElementById('submit-button').onclick = function() { 
 
    if(confirm('Are you sure you want to submit?')) { 
 
    // Do something 
 
    } 
 
    // Don't do something 
 
}
<body> 
 
    <input type="text" name="input" /> 
 
    <button id="submit-button" type="submit">Submit</button> 
 
</body>

без подтверждения():

var submit = document.getElementById('submit-button'); 
 
var confirm = document.getElementById('confirm-button'); 
 
var cancel = document.getElementById('cancel-button'); 
 

 
document.getElementById('submit-button').onclick = function() { 
 
    submit.style.display = 'none'; 
 
    confirm.style.display = 'inline'; 
 
    cancel.style.display = 'inline'; 
 
} 
 

 
document.getElementById('confirm-button').onclick = function() { 
 
    // Submit form 
 
} 
 

 
document.getElementById('cancel-button').onclick = function() { 
 
    submit.style.display = 'inline'; 
 
    confirm.style.display = 'none'; 
 
    cancel.style.display = 'none'; 
 
}
<body> 
 
    <input type="text" name="input" /> 
 
    <button id="submit-button" type="submit">Submit</button> 
 
    <button id="confirm-button" type="submit" style="display: none;">Confirm</button> 
 
    <button id="cancel-button" type="submit" style="display: none;">Cancel</button> 
 
</body>

Смежные вопросы