2014-04-10 15 views
13

Próbuję dodać potwierdzenie przed przesłaniem formularza za pomocą jQuery. Znalazłem dobry przykład w innym pytanie przepełnienie stosu form confirm before submit, ale nie mogę go uruchomić.Potwierdzenie przed przesłaniem formularza za pomocą jQuery

jQuery:

$(function() { 
    $('form#delete').submit(function() { 
     var c = confirm("Click OK to continue?"); 
     return c; 
    }); 
}); 

Szablon:

<form id="delete" action="{% url 'item_delete' item.id %}" method="post">{% csrf_token %} 
    <input class="floatright" type="submit" value="Delete" /> 
</form> 

Jak możemy to osiągnąć?

Odpowiedz

15

Przesyłasz formę i po sprawdzania dla potwierdzą, trzeba odwrotności

JS:

$(function() { 
    $("#delete_button").click(function(){ 
     if (confirm("Click OK to continue?")){ 
     $('form#delete').submit(); 
     } 
    }); 
}); 

HTML:

<form id="delete" action="{% url 'item_delete' item.id %}" method="post">{% csrf_token %} 
    <input id="delete_button" class="floatright" type="button" value="Delete" /> 
</form> 
+0

działa doskonały teraz, dzięki –

+0

dodałem 'event.preventDefault();' w „inny” stan – campeterson

+0

To będzie ** nie ** praca jeśli przesłać formularz w żaden sposób oprócz kliknięcie tego przycisku (np. naciśnięcie enter na innym wejściu). Odpowiedź @ user3311206 jest lepsza z tego powodu. – Ben

0

Upewnij się, że można umieścić swój kod w dokumencie $(document).ready(), podobnym do następującego:

$(document).ready(function() { 
    $('form#delete').submit(function() { 
     var c = confirm("Click OK to continue?"); 
     return c; 
    }); 
}); 
12
$('#delete').submit(function(event){ 
    if(!confirm("some text")){ 
     event.preventDefault(); 
     } 
    }); 
0
$(function() { 
     $('form#delete').click(function(e) { 
     e.preventDefault(); 
     var c = confirm("Click OK to continue?"); 
     if(c){ 
      $('form#delete').submit(); 
      } 
     }); 
    }); 

    <form id="delete" action="www.google.com"> 
     <input id="deletesubmit" type="submit" value="Delete" /> 
    </form> 
Powiązane problemy