#!/COMMUNITY
Members: 5374
davon online: 1
weitere User: 27
12.02.2012 / 10:06
Community-Member werden
|
Paßwort vergessen
|
OnlineMonitor (1)
Perl-Archiv
Forum
Javascript
Home
PERLscripts
PHPscripts
JAVAscripts
Hilfreiches
Links2www
Newscenter
Community
Interna
Javascript
Archivübersicht
Tutorials
Zum Forum
JS-Links
BuchTipps
WebForen
Forenübersicht
Neueste Themen
Ohne Antwort
Aktivste Themen
Themensuche
Forenarchiv
Newsgroups
Javascript » Formulare » Multichecker
zur Übersicht
Kategorie
Formulare
Bezeichnung
Multichecker
ScriptDemo
Neues Fenster für Demo öffnen
Statistik
14953 Aufrufe davon 0x gestern
Besten Dank an
Markus 'beebob' Bopp
.
Javascript-Quellcode
(einfach markieren, kopieren und lokal abspeichern)
<script langugage="JavaScript"> <!-- /** * Common Form Checking * ********************************** * a 'small' lib for checking common form-objects. * * - checks textinputs/textareas if empty * - checks if valid mail address was entered * - checks for clicked radios and checked boxes * - checks if options are selected. * * it should run on nearly every modern javascript browser ;) * feel free to change/optimize the code. * if you do so, please send me an email with your version of this script: * webmaster@php-projekte.de * * sorry for my bad (de)nglish ;) * * thanks! * * Markus 'beebob' Bopp, Updated: 09/16/2002 * *********************************** * usage: * * en: * - create a form with the name 'form1'. * - the first option of a select elements has to be empty (<option></option>) if it has to be checked. * - at the moment there's just one email-field checked for a valid entry. this field needs the name 'email'. * - if all textfields have to be checked -> var textNoCheck = true; * - if no textfield mustn't be checked -> var textNoCheck = ""; * - ... otherwise -> var textNoCheck = "formElement!='name1' && formElement!='name2' ...; usw." * * de: * - die form muss den namen 'form1' erhalten. * - die erste option eines select elements muss leer sein (<option></option>), falls hier geprüft werden soll. * - mom. wird nur ein feld auf eine korrekte email überprüft. dieses feld muss den namen 'email' erhalten. * - falls alle textfelder geprüft werden sollen -> var textNoCheck = true; * - falls gar kein textfeld geprüft werden soll -> var textNoCheck = ""; * - ... ansonsten -> var textNoCheck = "formElement!='name1' && formElement!='name2' ...; usw." */ textNoCheck = "formElementName!='nocheck1' && formElementName!='nocheck2'"; /** * en: if set to false, just the textfields and textareas are checked! * de: falls auf false gesetzt wird, werden ausschl. textfelder und textareas geprüft! */ withSubCheck = true; /** * en: error messages * de: fehlermeldungen */ missingText = "Sie haben vergessen, ein Feld auszufüllen!\n\nDieses Feld wurde besonders gekennzeichnet.\n\nBitte tragen sie dort den fehlenden Inhalt ein!"; missingMail = "Sie haben keine gültige E-Mail Adresse eingetragen!"; missingRadio = "Sie haben vergessen, ein Radio auszuwählen!"; missingCheck = "Sie haben vergessen, eine Checkbox auszuwählen!"; missingOption = "Sie haben vergessen, einen Eintrag aus der Auswahlliste zu wählen!"; /** * en: some text, showed in elements on error * de: text, der in den elementen bei einem fehler erscheint */ missing = "*fehlt*"; // text newEntry = "*neu eingeben*"; // email choose = "*auswahl*"; // select-options /** functions */ function checkForm(){ formElementsCount = document.form1.elements.length; for(i=0; i<formElementsCount; i++){ formElementName = document.form1.elements[i].name; if(eval(textNoCheck)){ formElement = document.form1.elements[i]; if(formElement.value=="" || formElement.value==missing){ if(formElement.type=="text" || formElement.type=="textarea"){ alert(missingText); formElement.focus(); if(document.all || document.getElementById){ formElement.blur(); formElement.value=missing; formElement.onclick = clean; } return false; } } } } if(withSubCheck) return startSubCheck(); } function checkMailAddress(){ dofem = document.form1.email expression = /.+@.+\.{1,}[a-zA-Z]{2,}/; if(!expression.exec(dofem.value)){ alert(missingMail); dofem.focus(); if(document.all || document.getElementById){ dofem.blur(); dofem.value = newEntry; dofem.onclick = clean; } return false; } } function checkRadioButtons(){ var formElementsCount = document.form1.elements.length; var sortedNames = new Array(); var sortedNamesNext = new Array(); for(i=0; i<formElementsCount; i++){ if(document.form1.elements[i].type=="radio"){ sortedNames[i] = document.form1.elements[i].name; if(document.form1.elements[i+1]!=null){ sortedNamesNext[i] = document.form1.elements[i+1].name; } // there are just groups up to two related radios allowed at the moment ... if(sortedNames[i]==sortedNamesNext[i]){ if(document.form1.elements[i].checked==false && document.form1.elements[i+1].checked==false){ sortedNames[i] = sortedNames[i].toUpperCase(); alert(missingRadio); return false; } } } } } function checkCheckboxes(){ var formElementsCount = document.form1.elements.length; var sortedNames = new Array(); for(i=0; i<formElementsCount; i++){ if(document.form1.elements[i].type=="checkbox"){ sortedNames[i] = document.form1.elements[i].name; if(document.form1.elements[i].checked==false){ sortedNames[i] = sortedNames[i].toUpperCase(); alert(missingCheck); return false; } } } } function checkOptions(){ var formElementsCount = document.form1.elements.length; for(i=0; i<formElementsCount; i++){ if(document.form1.elements[i].type=="select-one"){ selectedIndex = document.form1.elements[i].options.selectedIndex; if(document.form1.elements[i].options[selectedIndex].text=="" || document.form1.elements[i].options[selectedIndex].text==choose){ document.form1.elements[i].focus(); document.form1.elements[i].options[selectedIndex].text=choose; alert(missingOption); return false; } } } } function clean(){ this.value=""; } function startSubCheck(){ cm = checkMailAddress(); if(cm==false){ return false; }else{ cr = checkRadioButtons(); if(cr==false){ return false; }else{ co = checkOptions(); if(co==false){ return false; }else{ cb = checkCheckboxes(); if(cb==false){ return false; } } } } } //--> </script> <!-- en: activate checking by using the onsubmit event handler ('return' is a must!) --> <!-- de: die prüfungen werden per onsubmit event-handler gestartet ('return' ist pflicht!) --> <form name="form1" action="#" onsubmit="return checkForm();"> <br> input:<br> <input type="text" name="poop"><br> kein check (1):<br> <input type="text" name="nocheck1"><br> keine check2 (2):<br> <input type="text" name="nocheck2"><br> email check:<br> <input type="text" name="email"><br> select check:<br> <select name="poop2"><option></option><option>poop</option></select><br> radio check:<br> nein <input type="radio" name="poop3" value="0"><br> ja <input type="radio" name="poop3" value="1"><br> textarea:<br> <textarea name="poop4"></textarea><br> checkbox:<br> <input type="checkbox" name="poop5" value="0"><br> <input type="submit"> </form>
Kommentare zu
Multichecker
0 Kommentar(e) vorhanden / Anzeige der neuesten 5
Noch keine Kommentare zu diesem Javascript vorhanden.
Alle Kommentare anzeigen
-
Kommentar hinzufügen
© PERL/CGI/
PHP
/JS/SCRIPT/unity.de 1998-2009 .::.
interaktiv.shop
.::.
CGI-Service
.::.
Kontakt
.::.
Impressum
Link: /javascript/scripts/javascript_0398_main.shtml .::. Aufrufe heute: 1 .::. Aufrufe gesamt: 11858