2017-01-16 5 views
1

У меня есть кнопка, на которой, когда пользователь нажимает, чтобы удалить проект на сайте, появляется подтверждение, я использую alertify.js для этого, у меня есть кнопка и т. Д., Но при нажатии кнопки удаления появляется окно подтверждения и автоматически удаляет проект и исчезает, прежде чем я могу либо щелкнуть ok, чтобы подтвердить или отменить ..?Проблема с подтверждением оповещений

вот HTML

<button type="submit" class="btn btn-link btn-sm" Onclick="return ConfirmDelete();" style="margin:5px;"></button> 

здесь код Javascript

function ConfirmDelete() 
{ 
    alertify.confirm("This is a confirm dialog", function (ev) { 
     ev.preventDefault(); 
     alertify.success("You've clicked OK"); 
    }, function(ev) { 
     ev.preventDefault(); 
     alertify.error("You've clicked Cancel"); 
    }); 
} 

как я могу предотвратить это?

+0

А вы используя html-форму? – Aer0

+0

yes Я использую html-форму –

+0

Не знаете, какую библиотеку или фреймворк вы используете, но обычно, если вы используете кнопку в качестве формы, вы не будете использовать событие onclick на этой кнопке. Это может привести к нежелательному поведению. Возможно, это может быть вашей ошибкой, так как ваш код кажется довольно правильным. – Aer0

ответ

3

Вы не можете предотвратить отправку формы в этом случае, поскольку пользовательское подтверждение является неблокирующим асинхронным диалоговым окном. Вы можете остановить его, однако, всегда возвращаются false и представления формы вручную (программно) в случае Ok нажатием кнопки:

function ConfirmDelete(button) { 
    alertify.confirm("This is a confirm dialog", function() { 
    button.form.submit() 
    // alertify.success("You've clicked OK", function() { 
    // button.form.submit() 
    // }); 
    }, function() { 
    alertify.error("You've clicked Cancel"); 
    }); 

    return false; 
} 

Для этого убедитесь, что передать ссылку на кнопку вашей функции:

<button type="submit" onclick="return ConfirmDelete(this)">ConfirmDelete</button> 
+0

Описание: demo, btw: https://jsfiddle.net/71fnf6zg/ – dfsq

+0

Спасибо! это прекрасно работает –

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

  • Нет связанных вопросов^_^