16. december 2009 - 09:33
Der er
4 kommentarer
Form felter
Hej Exp Jeg skal bruge et lille javascript det kan tjekke op på om nogle af felterne i en formular er udfyldt eller ej. Jeg ved ikke helt hvordan man skal gøre det, da jeg ikke er så rotineret i javascript. Min formular ser ca sådan ud. og det er felterne med Id=Option jeg gerne vil tjekke om indeholder data. Jeg ved ikke hvor mange felter der komme til at være, så scriptet skal fungere med en lykke. Håber i kan hjælpe <form action="" method="post" name="GivPris"> <input type="text" name="Pris" value=""> <input type="text" id="Option" name="Andet1" value=""> <input type="text" id="Option" name="Andet2" value=""> <input type="text" id="Option" name="Andet3" value=""> <input type="text" name="Dato" value=""> <a href="#" onclick="AcceptForm('GivPris');">OK</a> </form> <script> function AcceptForm(FormName) { } </script>
Annonceindlæg fra Cognizant
16. december 2009 - 16:26
#1
For det første bør du ikke anvende samme ID-tag på forskellige objekter. Umiddelbart ville jeg dog løse dit problem således:<script type="text/javascript"> function validateForm(f) { var valid = true; var pris = 0; var arrOptions = document.getElementsByName("Pris"); for (var i = 0; i < arrOptions.length; i++) { var obj = arrOptions[i]; if (obj.checked || obj.checked == "checked") { if (obj.id != "PrisAndet") pris = obj.value; else pris = f.Andet.value; } } if (pris == 0) valid = false; if (valid) f.ValgtPris.value = pris; return valid; } </script> <form action="" method="post" name="GivPris" onsubmit="return validateForm(this)"> <input type="hidden" name="ValgtPris" id="ValgtPris" value="0" /> <input type="radio" name="Pris" id="Pris1" value="10000"><label for="Pris1">5000-10000</label> <input type="radio" name="Pris" id="Pris2" value="15000"><label for="Pris2">10001-15000</label> <input type="radio" name="Pris" id="Pris3" value="20000"><label for="Pris3">15001-20000</label> <input type="radio" name="Pris" id="PrisAndet" value="0"><label for="PrisAndet">Andet</label> <input type="text" name="Andet" /> <input type="Submit" /> </form> Vær opmærksom på at koden ikke er testet, men den burde fungere fint.
16. december 2009 - 20:44
#2
Det skal desværre være Text felter. hvad hvis vi så gør sådan. <form action="" method="post" name="GivPris"> <input type="text" name="Pris" value=""> <div id="Option"> <input type="text" name="Andet1" value=""> <input type="text" name="Andet2" value=""> <input type="text" name="Andet3" value=""> </div> <input type="text" name="Dato" value=""> <a href="#" onclick="AcceptForm('GivPris');">OK</a> </form>
16. december 2009 - 22:27
#3
Jeg er ikke helt sikker på at jeg kan følge dig hvis det skal være tekstfelter. Ville det ikke være en bedre idé med kun ét tekstfelt til at skrive prisen i? Det virker som overkill at have mere end ét felt til at angive en pris.
17. december 2009 - 09:59
#4
Da ikke hvis der er flere priser der skal angives. I den formular jeg har, skal man angive en pris for et projekt samt nogle priser for divs tilbehør. <div id="Option"> Tillægsprodukt 1.<input type="text" name="Andet1" value=""> Tillægsprodukt 2.<input type="text" name="Andet2" value=""> Tillægsprodukt 3.<input type="text" name="Andet3" value=""> </div>