28. maj 2013 - 21:44
Der er
7 kommentarer og 1 løsning
Finde ID på markerede celler i tabel
I nedenstående kode danner jeg en tabel med 3x3 celler med hver deres ID. Når man markerer en celle skifter den baggrundsfarve som indikation af at denne celle er markeret. Når formularen submittes vil jeg gerne have fat i ID på de celler som er markeret. Mvh Claus <html> <head> <script type="text/javascript" > function toggle(object) { if ( object.style.backgroundColor == '' || object.style.backgroundColor == undefined ) { object.style.backgroundColor = 'green'; } else { object.style.backgroundColor = ''; } } </script> </head> <body> Klik i nogle celler og tryk submit. Hvordan får jeg på action siden (test.asp") fat i ID på de celler der er markeret? <form method="POST" name="test" action="test.asp"> <table border='1'> <tr> <td id="1" onclick = " toggle(this); " > </td> <td id="2" onclick = " toggle(this); " > </td> <td id="3" onclick = " toggle(this); " > </td> </tr> <tr> <td id="4" onclick = " toggle(this); " > </td> <td id="5" onclick = " toggle(this); " > </td> <td id="6" onclick = " toggle(this); " > </td> </tr> <tr> <td id="7" onclick = " toggle(this); " > </td> <td id="8" onclick = " toggle(this); " > </td> <td id="9" onclick = " toggle(this); " > </td> </tr> <tr> <td colspan="3"> <input type="submit" value="Submit"> </td> </tr> </table> </form> </body> </html>
Annonceindlæg fra Infor
Virker fint her. Når man klikker bliver feltet grønt og når man klikker igen får farven væk.
scootergrisen> Ja det gør det også hos mig, men jeg kan ikke finde ud af at få fat i ID'et på de felter der er markeret?
Du har flere muligheder. Du kunne jo evt. bruge nogle hidden input felter, som du sætter en værdi i, når toggle() er "on". Alternativt skal du lave din egen "submit" funktion, som laver en submit med de ID'er fra dine td'er som igen er "on". Giver det mening?
jakobdo> Ja det giver pludselig mening, jeg ved bare ikke lige hvordan jeg indsætter værdierne i de der hidden felter når toggle sættes til "on". Men jeg prøver lige at Google lidt (clientside til serverside form input), for det må der være masser af eksempler på. Tak for hjælpen indtil videre ;-)
Prøv denne kode: <html> <head> <script type="text/javascript" > function toggle(object) { if ( object.style.backgroundColor == '' || object.style.backgroundColor == undefined ){ object.style.backgroundColor = 'green'; object.childNodes[0].value = object.id; } else { object.style.backgroundColor = ''; object.childNodes[0].value = ''; } } </script> </head> <body> Klik i nogle celler og tryk submit. Hvordan får jeg på action siden (test.asp") fat i ID på de celler der er markeret? <form method="POST" name="test" action=""> <table border='1'> <tr> <td id="1" onclick = " toggle(this); " ><input type="hidden" id="check_1" name="1" > </td> <td id="2" onclick = " toggle(this); " ><input type="hidden" id="check_2" name="2" > </td> <td id="3" onclick = " toggle(this); " ><input type="hidden" id="check_3" name="3" > </td> </tr> <tr> <td id="4" onclick = " toggle(this); " ><input type="hidden" id="check_4" name="4" > </td> <td id="5" onclick = " toggle(this); " ><input type="hidden" id="check_5" name="5" > </td> <td id="6" onclick = " toggle(this); " ><input type="hidden" id="check_6" name="6" > </td> </tr> <tr> <td id="7" onclick = " toggle(this); " ><input type="hidden" id="check_7" name="7" > </td> <td id="8" onclick = " toggle(this); " ><input type="hidden" id="check_8" name="8" > </td> <td id="9" onclick = " toggle(this); " ><input type="hidden" id="check_9" name="9" > </td> </tr> <tr> <td colspan="3"> <input type="submit" value="Submit"> </td> </tr> </table> </form> </body> </html>
jakobdo> Tusind tak for hjælpen, der sparrede du mig for en masse søgen efter koden. Jeg har ændret lidt i dit skriv og nu virker det som jeg gerne vil have det, så læg et svar ;-) Mvh Claus Til andre som evt. vil bruge koden, så er den her: Test.htm ======== <html> <head> <script language="javascript"> function toggle(object, IDvalue) { if ( object.style.backgroundColor == '' || object.style.backgroundColor == undefined ){ object.style.backgroundColor = 'green'; object.childNodes[0].value = IDvalue; } else { object.style.backgroundColor = ''; object.childNodes[0].value = ''; } } </script> </head> <body> <form method="POST" name="test" action="test_post.asp"> <table border='1'> <tr> <td onclick = " toggle(this, 'felt1'); " ><input type="hidden" name="1"> </td> <td onclick = " toggle(this, 'felt2'); " ><input type="hidden" name="2"> </td> <td onclick = " toggle(this, 'felt3'); " ><input type="hidden" name="3"> </td> </tr> <tr> <td onclick = " toggle(this, 'felt4'); " ><input type="hidden" name="4"> </td> <td onclick = " toggle(this, 'felt5'); " ><input type="hidden" name="5"> </td> <td onclick = " toggle(this, 'felt6'); " ><input type="hidden" name="6"> </td> </tr> <tr> <td onclick = " toggle(this, 'felt7'); " ><input type="hidden" name="7"> </td> <td onclick = " toggle(this, 'felt8'); " ><input type="hidden" name="8"> </td> <td onclick = " toggle(this, 'felt9'); " ><input type="hidden" name="9"> </td> </tr> <tr> <td colspan="3"> <input type="submit" value="Submit"> </td> </tr> </table> </form> </body> </html> test_post.asp ============= <% for each item in request.form if request.form(item) <> "" Then response.write request.form(item) & "<br>" end if next %>
Vi tilbyder markedets bedste kurser inden for webudvikling