18. juni 2004 - 14:44Der er
13 kommentarer og 1 løsning
Kontrol af syntaks (i en form) og sætte en hidden til værdi
Hej eksperter
Har lavet det af scriptet jeg kunne finde ud af i det store hele. Der må dog være en syntaksfejl et sted, for jeg syns ikke det lader til at virke det jeg har lavet. Men det jeg gerne vil have er, at scriptet chekker om syntaksen er overholdt, og så enabler submit-knappen i så fald. Ud over det, vil jeg også have den del med, hvor den skriver værdien af feltet time (bare for at kontrollere at det virker. Php-siden af scriptet har jeg styr på, så det er kun den her del!!!
Scriptet som det ser ud er her, og hvis der er noget I ikke lige forstår eller lign, så giv lyd.
prøv: function timeSet(elm) { d = elm.form.date.value.match(/^\d{2}\/\d{2}\/\d{2}$/); c = elm.form.clock.value.match(/^\d{2}:\d{2}$/); if (elm.name == "date" && !d) { alert("Du skal skrive en korrekt dato"); elm.form.submit.disabled = true; elm.focus(); return; } if (elm.name == "clock" && !c) { alert("Du skal skrive et korrekt klokkeslæt"); elm.form.submit.disabled = true; elm.focus(); return; } else if (d && c) {elm.form.submit.disabled = false;elm.form.time.value = elm.form.date.value + " " + elm.form.clock.value;} }
Hvor din form ser sådan ud: <form action="<?= $_SERVER["PHP_SELF"]; ?>" method="post" name="form"> <table width="70%">
<input type="hidden" name="time">
<tr> <td width="40%">Dato (DD/MM/YY, f.eks. 5. Juli 2004 = 05/07/04)</td> <td width="60%"><input type="text" name="date" value="DD/MM/YY" onchange="timeSet(this)"></td> </tr>
du mener det der <?= $_SERVER["PHP_SELF"]; ?> ???? Det er et php-script der gør, at siden sender til sig selv, for den del der modtager dataene er i samme fil!
jeg flytter den kun ud fordi det andet ikke er en "lovlig" måde at gøre det på. Om det skulle give de store forskelle på scriptet ved jeg ikke, men det er i hvert fald den rigtige måde at gøre det på.
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.