2017-05-01 2 views
0

Ich möchte ein Formular deaktivieren, sobald ich es abschicke. Ich habe das versucht, aber es deaktiviert das Formular nicht:So deaktivieren Sie ein Formular beim Senden mit jQuery

$("#myform").prop("disabled", true); 

Ich benutze jQuery/php/ajax. Wenn der Benutzer auf "Senden" klickt, wird die Schaltfläche "Senden" deaktiviert und auf der Schaltfläche wird ein Drehfeld angezeigt. Die serverseitige Validierung ist abgeschlossen und es werden Fehler angezeigt oder eine E-Mail gesendet und eine Erfolgsmeldung angezeigt. In dieser Zeit, wenn der Spinner läuft, möchte ich nicht, dass der Benutzer irgendetwas auf dem Formular ändern kann, wie zum Beispiel ein anderes Optionsfeld anklicken. Das Formular ist ziemlich schnell, aber Sie können nie wissen.

+0

Deaktivieren einer "Form"? Meinst du die Schaltfläche "Senden" des Formulars deaktivieren? Bitte posten Sie eine [mcve] und alle Fehlermeldungen, die Sie erhalten. – j08691

+0

Das html 'form'-Element enthält kein 'disabled'-Attribut. –

+0

Sorry, ich habe das nicht richtig erklärt. Ich benutze jQuery/php/ajax. Wenn der Benutzer auf "Senden" klickt, wird die Schaltfläche "Senden" deaktiviert und auf der Schaltfläche wird ein Drehfeld angezeigt. Die serverseitige Validierung ist abgeschlossen und es werden Fehler angezeigt oder eine E-Mail gesendet und eine Erfolgsmeldung angezeigt. In dieser Zeit, wenn der Spinner läuft, möchte ich nicht, dass der Benutzer irgendetwas auf dem Formular ändern kann, wie zum Beispiel ein anderes Optionsfeld anklicken. Das Formular ist ziemlich schnell, aber Sie wissen nie .. – Jonathan

Antwort

3

Ich glaube nicht, dass Sie ein <form> Element "sperren" können. Aber wenn sein Inhalt in einem <fieldset> gewickelt werden, dann können Sie leicht, dass deaktivieren:

<form id="myform" method="POST" action="test.php"> 
    <fieldset> 
     <input type="text"> 
     <textarea></textarea> 
     <input type="submit"> 
    </fieldset> 
</form> 

Und:

$("#myform fieldset").prop("disabled", true); 

Example

Verwandte Themen