25. marts 2003 - 15:09Der er
14 kommentarer og 2 løsninger
teste værdien i et andet inputfelt end det man er i nu!"?
Hejsa.
jeg har 2 (eller flere) inputfelter. og på det ene kalder jeg et javascript for at test om syntaxen i det indtastede er korrekt. Men det er afhængigt hvad der er valgt i en tidligere selectbox i formen.
og det kan jeg ikke greje hvordan.
jeg ved at :
function test(Element) { if (isNaN(Element.value)) alert ('Det skal være et tal!'); } ........ <input name=ting onclick='test(this)'>
så der refererer jeg direkte til selve feltet. Men et andet felt i formen ???
Det her burde give dig det ønskede resultat <script language="javascript"> function test(Element) { if (document.tester.elements["enting"].value == Element.value) { alert("de har samme værdi"); } else { alert("de har ikke samme værdi"); } } </script>
<form action="enellerandeside.html" name="tester"> <input name="enting" value=""> <input name="entilting" value = "" onclick="test(this)"> </form> vh Martin
Synes godt om
Slettet bruger
25. marts 2003 - 15:47#3
Således:
function test(Element) { if (isNaN(Element.form.andetFeltNavn.value)) alert("Det skal være et tal!"); }
Ret dit input-element til: <input type=text name=portfraselect[$x] value='$portfraselect[$x]' size=7 onblur='ValidatePort(this.form)'>
Nu sendes formen med som argument. Atså kan du hive fat i andre elementer med:
function ValidatePort(f) { alert(f.protocolselect); }
... men din select hedder jo ikke 'protocolselect' ... men 'protocolselect[ET-ELLER-ANDET]'. Brackets i element-navne er generelt noget 'gris', som ikke er umiddelbart i overensstemmelse med JavaScript-standarden. Det er en dårlig PHP-vane.
Under alle omstændigheder, må du finde ud af, hvad den select hedder, før den kan kaldes :)
olebole> hmm. det har du jo ret i.. den der [$x] er en "tæller" over hvilken linie vi er på nu. så kan jeg holde styr på arrayet. Men hvordan skal jeg så fortælle mit javascript at det er protocol nr. x jeg skal teste?
uanset hvilken metode (oleboles eller mhylles) så får jer
mhylle: Fejl: 'document.aclchangeform.elements.protocolselect.value er null eller ikke et object'
olebole: en alertbox med : Undefined og derefter Fejl: 'Element' ikke defineret.
Klart at du får en fejl på document.aclchangeform.elements.protocolselect.value protocolselect findex jo ikke.. Kan kun give olebole ret, undgå brackets i element navne.. Hvis du vil have dynamiske navne på dine select elementer kan du løbe igennem alle form felter med den her kode(hvis du altså har lavet rettelsen med at sende formen med istedet for): function ValidatePort(f) { for (var i=0;i<f.length;i++) { frmFelt= f.elements[i]; alert(frmFelt.name + " har værdi: " + frmFelt.value); }
phoenixv> Hvordan kalder du den funktion.. med hvilke data osv..
kan du evt. vise komplet kode for fungerende eksempel på at man f.eks. har et emailfelt og en submit knap hvor emailfeltet skal testes ved tryk på submit. Men ikke før! ;-)
Synes godt om
Slettet bruger
28. marts 2003 - 15:18#15
Fx:
<script> function valider(frm) { if (frm.email.value == "") { alert("Husk at udfylde feltet!"); frm.email.focus(); return false; } return true; } </script>
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.