2013-08-03 15 views
8
<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')"> 
<input type='submit' name='delete' value='Undo' /> 
<input type='submit' name='no' value='No' /> 

, gdy użytkownik kliknie drugi przycisk przesyłania, tj. No chcę wyświetlić okno dialogowe potwierdzenia "Czy na pewno chcesz zatwierdzić transakcję".Jak używać funkcji onsubmit(), aby wyświetlić potwierdzenie, jeśli w tym samym formularzu jest wiele przycisków przesyłania?

+0

możliwy duplikat [Javascript onsubmit z formularzem z wieloma przyciskami przesłania] (http://stackoverflow.com/questions/13707633/javascript-onsubmit-with-form-with-multiple-submits-buttons) – totymedli

Odpowiedz

19
<form method='post'> 
    <input type='submit' name='undo' value='Undo' onclick="return confirm('Are you sure you want to rollback deletion of candidate table?')"/> 
    <input type='submit' name='no' value='No' onclick="return confirm('Are you sure you want to commit delete and go back?')"/> 
</form> 

Dobrze działa. właśnie zmieniono onsubmit() na onclick(). ponieważ funkcja obu w tej sytuacji jest taka sama.

0

Wystarczy użyć dwóch w tym samym formularzu. Po jednym dla każdego przycisku:

<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')"> 
    <input type='submit' name='delete' value='Undo' /> 
</from> 
<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')"> 
    <input type='submit' name='no' value='No' /> 
</from> 

Ponadto, jeśli chcesz zrobić swoje badania będzie można znaleźć te:

+0

jest to częste. czy jest to możliwe dzięki wielokrotnym przyciskom przesyłania w jednym formularzu? – RatDon

2

Można powiązać z onclick zamiast onsubmit - patrz poniżej.

<script> 
function submitForm() { 
    return confirm('Rollback deletion of candidate table?'); 
} 
<script> 

<form> 
    <input type='submit' onclick='submitForm()' name='delete' value='Undo' /> 
    <input type='submit' onclick='submitForm()' name='no' value='No' /> 
</form> 

Albo na przemian, przy użyciu jQuery:

<script> 
$(document).ready(function() { 
    $('form input[type=submit]').click(function() { 
     return confirm('Rollback deletion of candidate table?'); 
    }); 
}); 
<script> 
+1

Myślę, że pytanie dotyczyło przycisków, które powinny mieć różne komunikaty potwierdzające. –

0
<form onsubmit="submitFunction();"> 
    <input type='submit' name='delete' value='Undo' /> 
    <input type='button' onclick="declineFunction()" name='no' value='No' /> 
</form> 

byłby próbuję stworzyć złożyć ale raczej po prostu przycisk, który ma onclick = "function()", a następnie za pomocą JavaScript ustaw zmienną, aby zobaczyć, ile razy ją kliknęli i alert();

nadzieję, że to pomoże: D

1

Oto rozwiązanie zdarzenie-słuchacz opiera że unika inline obsługi zdarzeń (przydatne, jeśli witryna ma zawartość Zasady zabezpieczeń, które zabrania inline JavaScript):

HTML:

<form method="post"> 
    <input type="submit" id="deleteButton" name="delete" value="Undo" /> 
    <input type="submit" id="noButton" name="no" value="No" /> 
</form> 

JS:

document.getElementById("deleteButton").addEventListener("click", function(evt) { 
    if (!confirm("Are you sure you want to rollback deletion of candidate table?")) { 
     evt.preventDefault(); 
    } 
}); 

document.getElementById("noButton").addEventListener("click", function(evt) { 
    if (!confirm("Are you sure you want to commit the transaction?")) { 
     evt.preventDefault(); 
    } 
}); 
Powiązane problemy