06. oktober 2000 - 00:50Der er
12 kommentarer og 1 løsning
Universel form tester
Jeg har brug for et script der tager alle felter i en form og tester om de indeholder værdier. Alle felter er altid \"mandatory\", og vi snakker her både tekst, selects og checkboxe.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
winkill >> :) nice try... det er nemt serverside, jeg snakker clientside
soze >> at tage længden af et TXT felt er nemt... jeg spørger efter en funktion der kan validere SAMTLIGE felter i en formular under ÉT kald... Om formen så indeholder tekst, select eller checkboxe er så udfordringen.
den var nok sværere - det kan nok godt lade sig gøre med kun tekst.. men nok ikke med en combination - det eneste jeg lige kan se (uden at være ekspert) er altså flere if-sætninger... :o/
<ole> Lars, jeg er lige ved at gå til køjs, så jeg nøjes med at ridse princippet op - det kender jeg dig godt nok til at vide, burde være nok ;o)
Du tæller hele formen igennem med en for-løkke. Så spørger du til hvert element:
var which = document.formnavn.elments[i]; if (which.type==\"text\") { if (which.value==\"\") { alert(\'udfyld!\');return false; } } if (which.type==\"textarea\") { if (which.value==\"\") { alert(\'udfyld!\');return false; } } if (which.type==\"select\") { if (which.options[options.selectedIndex].value==\"\") { alert(\'v\\346lg!\');return false; } } ...osv.
Checkbokse må tælles igennemfor sig selv og hvis man ikke finder en \'if(which.checked==\"true\")\', returneres \'false\'. Det gælder også radios.
Det kunne være andre fik brug for mit reviderede script :
<SCRIPT LANGUAGE=\"JavaScript\"> <!-- function checkForm (form) { for (i = 0; i < document.form.elements.length; i++) { var which = document.form.elements[i]; var alertMsg = \"You must fill out all the mandatory fields\";
if (which.type == \"text\") { if (which.value == \"\") { alert(alertMsg); which.focus(); return false; } } else if (which.type == \"textarea\") { if (which.value == \"\") { alert(alertMsg); which.focus(); return false; } } else if (which.type == \"select-one\") { if (which.options.selectedIndex == -1) { alert(alertMsg); which.focus(); return false; } } else if (which.type == \"select-multiple\") { if (which.options.selectedIndex == -1) { alert(alertMsg); which.focus(); return false; } } } return true; } //--> </SCRIPT>
ljweb >> det må jeg sgu sige; det er sjældent man ser en gøre sådan... det skal altid presses ud af andre brugere for at få fat i løste ting! - RESPEKT til ljweb ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.