Ich habe ein Programm, wo, wenn ein Benutzer auf eine Schaltfläche klickt, mehr Schreibdatenfelder angefügt werden. Ich möchte nicht, dass das Formular übermittelt wird, wenn nicht alle Schreibdatenfelder ausgefüllt sind. Das obige Snippet zeigt die Alarmbox, wenn eine Eingabe unvollständig ist, aber wenn Sie ok drücken, wird das Formular noch übergeben?Überprüfen eines Formulars, um keine leeren Eingabefelder zu senden
0
A
Antwort
1
Sie können den Ereignishandler .submit()
verwenden. Verwenden Sie dann entweder return false
oder e.preventDefault()
, um das Senden zu stoppen. Beachten Sie auch, dass id
ist einzigartig sind so $('#data')
wird nur ein einziges Element sein, so dass die .each()
ist nicht erforderlich:
$('#formIDHere').submit(function(e){
if ($('#data').val() == "" || $('#data').val() == null) {
alert("Write Data must be filled out or Remove empty parameter list!");
e.preventDefault(); // or `return false`
}
});
Für viele Eingänge haben Ihre Eingabeelemente class="data"
eine Klasse mit dem Wert sein. Beachten Sie, dass Sie e.preventDefault()
mit dem e
aus dem Submit-Ereignis verwenden müssen. In diesem Fall ist return false
für die .each()
und nicht die submit
. Ich verwende hier den .each
von stoppen gehen also nicht wir viele unnötige Warnungen und Kontrollen haben:
$('#myForm').submit(function(e){
$('.data').each(function(){
if ($(this).val() == "" || $(this).val() == null) {
alert("Write Data must be filled out or Remove empty parameter list!");
e.preventDefault(); // This is the preventDefault of submit
return false; // This stops the .each from continuing
}
});
});
0
$('#write').click(() => {
// if any one of the inputs is blank canSubmit will end up as false
// if all are not blank, it will end up as true
var canSubmit = [...document.querySelectorAll('input')]
.reduce((acc, input) => acc = input.value === '' ? false : acc , true)
});
0
<script type="text/javascript">
$(function() {
$("#data").bind("change keyup", function() {
if ($("#data").val() != "")
$(this).closest("form").find(":submit").removeAttr("disabled");
else
$(this).closest("form").find(":submit").attr("disabled", "disabled");
})
});
</script>
Dies würde erlauben Sie Submit-Button zu deaktivieren, bis es Daten war innerhalb des Eingabefeldes.
Verwandte Themen
- 1. Programmgesteuertes Senden eines Formulars
- 2. Senden eines Formulars mit Anfragen Python
- 3. Programmgesteuertes Senden eines Formulars mit AngularJS
- 4. Programmgesteuertes Senden eines Formulars ohne Senden-Schaltfläche in WebBrowser
- 5. Programmgesteuertes Senden eines Formulars in Python?
- 6. Senden eines Formulars über Ajax Problem
- 7. Initialisierung eines leeren Formulars bei Verwendung von [(ngModel)] in angular2
- 8. ASP.NET MVC - Senden eines Formulars mit benutzerdefinierten Feldern unterschiedlicher Datentypen
- 9. Keine Fehlermeldungen beim Validieren eines Formulars anzeigen
- 10. Löschen Eingabefelder auf Formular senden
- 11. Verwendung eines vorhandenen Formulars, um Daten an mailchimp zu senden, dann Umleitung
- 12. POST eines Formulars zu '/' bekommt eine 301
- 13. Senden eines p: fileupload mit dem Rest eines Formulars
- 14. Um den Wochentag eines Monats zu überprüfen
- 15. Löschen Optionsfelder eines übermittelten Formulars
- 16. CSS, um Inline-Eingabefelder zu erzwingen
- 17. Symfony2 Senden eines Formulars an einen anderen Controller und Überprüfen von isValid()
- 18. Gravity Forms senden Eingangsdaten kombiniert aus mehreren Formularen an Dritte nach dem Senden eines bestimmten Formulars
- 19. Safari erlaubt keine AJAX-Anfragen nach dem Senden des Formulars?
- 20. Senden eines Formulars mit phpmailer mit Google SMTP
- 21. Senden eines Formulars mit PHP und AJAX über jQuery
- 22. Überprüfen Sie die Regex-Validierung beim Senden und fokussieren Sie alle Eingabefelder, wenn sie leer sind.
- 23. mit zwei Senden von Schaltflächen in Form eines einzigen Formulars
- 24. Workflow eines InfoPath-Formulars
- 25. Unendliche Seite beim Senden eines Formulars mit 2 Dateieingabefeldern
- 26. Alle Kontrollkästchen eines Formulars auswählen
- 27. Verwenden von Curl zum Senden/Abrufen eines Formulars Ergebnisse
- 28. Senden des Formulars Senden Schaltfläche Wert?
- 29. Senden eines Formulars und Weiterleiten an Aktion ASP.NET MVC
- 30. Senden eines Formulars von AJAX außerhalb der Seite (
Sie könnten nach 'submit' dann' preventDefault' hören. – gcampbell
Verwenden Sie nicht mehrere '# Daten'-IDs –