07. maj 2008 - 10:34
Der er
9 kommentarer og 2 løsninger
ryd felter ved klik på knap
Hvordan rydder jeg nogle specifikke felter i en form? I nogle felter skal indholdet ikke ryddes og andre skal ryddes. Kan jeg evt. gøre det med et fælles id på felterne som skal ryddes?
Annonceindlæg fra Infor
Nej, id skal altid være unikt, så derfor må der ikke forekomme 2 ens id'er på en side. Kan du ikke bare lave et array? <script type="text/javascript"> function ResetFields(o){ var a=["felt1","felt4"]; for(var i=0;i<a.length;i++)o[a[i]].value="" } </script> <form blablabla> <input type="text" name"felt1"><br> <input type="text" name"felt2"><br> <input type="text" name"felt3"><br> <input type="text" name"felt4"><br> <input type="button" value="Ryd nogle felter" onclick="ResetFields(this.form)"> </form>
Hov, fik skrevet name"" og ikke name="": <script type="text/javascript"> function ResetFields(o){ var a=["felt1","felt4"]; for(var i=0;i<a.length;i++)o[a[i]].value="" } </script> <form blablabla> <input type="text" name="felt1"><br> <input type="text" name="felt2"><br> <input type="text" name="felt3"><br> <input type="text" name="felt4"><br> <input type="button" value="Ryd nogle felter" onclick="ResetFields(this.form)"> </form>
Kan desværre ikke få det til at virker. Vil det fejle hvis mine felter hedder: <input type="text" name="1"><br> <input type="text" name="2"><br> <input type="text" name="3"><br> <input type="text" name="4"><br> Kan det være derfor?
Jeg mener ikke (er dog ikke sikker) at navne må starte med tal. I hvert fald virker denne kode helt fint: <html> <head></head> <body> <script type="text/javascript"> function ResetFields(o){ var a=["felt1","felt4"]; for(var i=0;i<a.length;i++)o[a[i]].value="" } </script> <form blablabla> <input type="text" name="felt1"><br> <input type="text" name="felt2"><br> <input type="text" name="felt3"><br> <input type="text" name="felt4"><br> <input type="button" value="Ryd nogle felter" onclick="ResetFields(this.form)"> </form> </body> </html>
Du skal selvfølgelig indsætte felternes navne (dvs. de felter som skal ryddes) i linjen: var a=["felt1","felt4"];
>>w13 -- du har helt ret i, at navne (og f.eks. ids !-) ikke må starte med tal ...
Perfekt, det virker! Men kan ikke flytte onclick over på et billede, hvordan får jeg det til at spille?
Eh? Funktionen, jeg har lavet, rydder felter, som du bad om. Hvad er det med en onclick? Men altså det bliver lidt bøvlet at skrive ind i funktionen. Kan du ikke bare rette: onclick="ResetFields(this.form)" til: onclick="ResetFields(this.form);document.getElementById('billedets-id').onclick=function(){}"
Nåå, sorry. Læste forkert. Hvis du f.eks. giver din <form> et id="form1" , så kan du bruge: <img src="billedet.bmp" onclick="ResetFields(document.getElementById('form1'))">
Vi tilbyder markedets bedste kurser inden for webudvikling