2016-02-05 4 views
-2

У меня простая форма с двумя кнопками HTML5. Каждая кнопка отправляет форму на другую страницу php. Это работает хорошо, но функция onsubmit никогда не запускается. Я хочу показать диалоговое окно перед вызовом страницы delete.php.Кнопка формы HTML5 onsubmit не работает

<form method="post"> 
     <input type="text" name="fname"> 

     <!-- HTML5 FORMACTION --> 
     <button type="submit" name="update" formaction="update.php">Update</button> 
     <button type="submit" name="delete" onsubmit="return confirm('Do you really want to delete?');" formaction="delete.php">Delete</button> 
    </form> 

Я пробовал разные варианты, но код javascript никогда не запускается. Зачем?

+0

Попробуйте использовать 'onclick'. Я не думаю, что '

ответ

1

попробовать, как этот

<form method="post"> 
     <input type="text" name="fname"> 

     <!-- HTML5 FORMACTION --> 
     <button type="submit" name="update" formaction="update.php">Update</button> 
     <button type="button" name="delete" onclick="return delete();" formaction="delete.php">Delete</button> 
    </form> 

<script> 
function delete(){ 

if(confirm('Do you really want to delete?')){ 
// delete code 
} 
return false; 
} 
</script> 
2

Кнопки не представляют события, формы делают.

Кнопки имеют события click.

+6

Хотя этот ответ технически корректен, он может сделать с некоторой дополнительной информацией. – Cerbrus

+0

Поскольку кнопка HTML5 может переопределять формулу, я также ожидал, что она сможет переопределить onsubmit ... onclick предполагает, что она не связана с отправкой. Но он работает, тем не менее. – Kokodoko

2

onsubmit действительна для form, а не кнопки. Вам нужно будет использовать onclick вместо onsubmit.