Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projekt:jsfundgrube:mandatory_field_check [2013/01/23 14:56] daniel.kuisle |
projekt:jsfundgrube:mandatory_field_check [2021/07/01 09:52] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ==== Pflichtfelder-Check beim Absenden ==== | + | ===== Pflichtfelder-Check beim Absenden ===== |
- | Bitte bei allen Webformularen die Pflichtfelder beim Absenden wie im Folgenden beschrieben überprüfen. Viele User sind mit den Formularen nicht zufrieden, weil sie die Pflichtfelder nicht erkennen und dann das Formular nicht absenden können. Lösung wäre hier folgende Meldung: | + | Bitte bei allen Webformularen die Pflichtfelder beim Absenden wie im Folgenden beschrieben überprüfen. Viele User sind mit den Formularen nicht zufrieden, weil sie die Pflichtfelder nicht erkennen und dann das Formular nicht absenden können. |
- | {{:2013-01-14_180325.jpg|}} | + | Lösung wäre hier folgende Meldung: |
+ | |||
+ | {{ :2013-01-14_180325.jpg }} | ||
Vorgehen: | Vorgehen: | ||
Zeile 10: | Zeile 12: | ||
Beispiel: | Beispiel: | ||
- | <code> | + | <code xml> |
<label for="text_name_antragsteller" title="Name, Vorname Antragsteller">Name, Vorname: *</label> | <label for="text_name_antragsteller" title="Name, Vorname Antragsteller">Name, Vorname: *</label> | ||
<input type="text" id="text_name_antragsteller" name="text_name_antragsteller" required="required"/> | <input type="text" id="text_name_antragsteller" name="text_name_antragsteller" required="required"/> | ||
Zeile 17: | Zeile 19: | ||
* Außerdem in die doThisOnSubmit() folgenden Code einfügen, damit der Title von den Labels in einem Popup angezeigt wird, sobald dieses nicht befüllt wurde: | * Außerdem in die doThisOnSubmit() folgenden Code einfügen, damit der Title von den Labels in einem Popup angezeigt wird, sobald dieses nicht befüllt wurde: | ||
- | <code> | + | <code javascript> |
- | var count = 0; | + | var count = 0; |
- | var tmpString = ""; | + | var tmpString = ""; |
- | $("[required]").each( | + | var missingRadioString = ""; |
- | function(i, field){ | + | $("[required]").each(function(i, field){ |
- | if(field.type == "checkbox" || field.type == "radio") { | + | if(field.type == "checkbox" || field.type == "radio") { |
- | if(field.checked == false) { | + | |
- | if($("label[for=" + field.id + "]")[0] != null) { | + | //für Radiobuttons alle Radios einer Gruppe holen |
- | if($("label[for=" + field.id + "]")[0].title != null) { | + | var p=0; |
- | tmpString += "\n" + $("label[for=" + field.id + "]")[0].title; | + | var checked = false; |
- | } | + | if($("[name="+field.name+"]") != null) { |
- | else | + | for (p=0;p<$("[name="+field.name+"]").length;p++) { |
- | tmpString += "\nUNBEKANNTES FELD"; | + | if($("[name="+field.name+"]")[p].checked==true) { |
- | } | + | checked = true; |
- | count = count +1; | + | } |
- | } | + | } |
- | } | + | //wenn ein Radio dieser Gruppe gecheckt ist, ist das Pflichfeld befüllt |
- | else if($.trim(field.value) == "" || field.value == "Bitte auswählen..."){ | + | if(checked == true) { |
- | if($("label[for=" + field.id + "]")[0] != null) { | + | return; |
- | if($("label[for=" + field.id + "]")[0].title != null) { | + | } |
- | tmpString += "\n" + $("label[for=" + field.id + "]")[0].title; | + | //Ansonsten nur 1 x für diese Gruppe den Title des Labels in das Popup schreiben |
- | } | + | else { |
- | else | + | if(missingRadioString.indexOf(field.name + "NEXTRADIO;") == -1) { |
- | tmpString += "\nUNBEKANNTES FELD"; | + | missingRadioString = missingRadioString + field.name + "NEXTRADIO;"; |
- | } | + | if($("label[for=" + field.id + "]")[0] != null) { |
- | count = count +1; | + | if($("label[for=" + field.id + "]")[0].title != null) { |
- | } | + | tmpString += "\n" + $("label[for=" + field.id + "]")[0].title; |
- | }); | + | } |
- | if(count != 0){ | + | else |
- | alert('Um das Formular abzuschicken, füllen Sie bitte folgende Pflichtfelder aus:' + tmpString); | + | tmpString += "\nUNBENANNTES FELD"; |
- | return false; | + | } |
- | } | + | count = count +1; |
+ | } | ||
+ | return; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if(field.checked == false) { | ||
+ | if($("label[for=" + field.id + "]")[0] != null) { | ||
+ | if($("label[for=" + field.id + "]")[0].title != null) { | ||
+ | tmpString += "\n" + $("label[for=" + field.id + "]")[0].title; | ||
+ | } | ||
+ | else | ||
+ | tmpString += "\nUNBENANNTES FELD"; | ||
+ | } | ||
+ | count = count +1; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | else if($.trim(field.value) == "" || field.value == "Bitte auswählen..."){ | ||
+ | if($("label[for=" + field.id + "]")[0] != null) { | ||
+ | if($("label[for=" + field.id + "]")[0].title != null) { | ||
+ | tmpString += "\n" + $("label[for=" + field.id + "]")[0].title; | ||
+ | } | ||
+ | else | ||
+ | tmpString += "\nUNBENANNTES FELD"; | ||
+ | } | ||
+ | count = count +1; | ||
+ | } | ||
+ | }); | ||
+ | if(count != 0){ | ||
+ | alert('Um das Formular abzuschicken, füllen Sie bitte folgende Pflichtfelder aus:' + tmpString); | ||
+ | return false; | ||
+ | } | ||
</code> | </code> | ||
Zeile 54: | Zeile 88: | ||
Beispiel: | Beispiel: | ||
- | <code> | + | <code javascript> |
var count = 0; | var count = 0; | ||
var tmpString = ""; | var tmpString = ""; | ||
+ | var missingRadioString = ""; | ||
$("[required]").each(function(i, field){ | $("[required]").each(function(i, field){ | ||
if(!(field.id=="text_steuer" && $("#privat")[0].checked)){ | if(!(field.id=="text_steuer" && $("#privat")[0].checked)){ | ||
... | ... | ||
</code> | </code> |