10. juli 2003 - 10:10
Der er
17 kommentarer og 2 løsninger
JavaScript: Skjul form-felt
Jeg har denne checkbox: <INPUT TYPE="checkbox" NAME="status_username" onChange="status(username);" Jeg skal nu have lave en funktion ved navn status, som skjuler det felt som står i parentesen, når man IKKE har sat flyeben i checkboxen. Hvordan går jeg det? Min form hedder search. I dette tilfælde er username en input boks, men i andre tilfælde er det en selectboks.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Forstår I ikke mit spørgsmål, eller kan I ikke hjælpe?
<HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <TITLE></TITLE> </HEAD> <BODY onload="TjekAgeFrom();"> <script> function TjekAgeFrom() { var s1 = document.frm1.agefrom.selectedIndex; var s2 = document.frm1.agefrom.options[s1].value; if (s2 == 08) { document.getElementById("ageTo").style.display = 'none'; } } function setagefrom(txt) { if (txt == "") { document.getElementById("ageTo").style.display = 'none'; } else { document.getElementById("ageTo").style.display = 'inline'; } } </script> <form name="frm1"> <SELECT NAME="agefrom" class=but onChange="setagefrom(this.value);"> <OPTION value=""> --</option> <OPTION value="04">05</option> <OPTION selected value="05">08</option> </select> <div id="ageTo"> <select name="ageTo" class="but"> <OPTION value="04">4</option> </select> </div> </form> </BODY> </HTML> //>Rune
Kan det ik gøres på en anden måde?
medions >> Tror du i øvrigt ikke at det er det forkerte sprøgsmål du har svaret i?
sådan ? <script language="javascript" type="text/javascript"> function skift(elm){ f = document.getElementById(elm).style if (f.visibility == 'hidden'){ f.visibility = 'visible';} else{ f.visibility = 'hidden';} } </script> <form> <INPUT TYPE="checkbox" NAME="status_username" onclick="skift('username');"> <INPUT TYPE="text" ID="username" NAME="username" style="visibility:hidden;"> </form>
Jeg har nu ændret lidt i funktionen: function skift(elm){ f = document.getElementById(elm) if (f.selectedIndex == 'on'){ f.style.display = 'inline'; } else{ f.style.display = 'none';} } Det er meningen at når "status_username" er CHECKED (=on), så skal min DIV være inline! Hvad gør jeg forkert i koden herover? Der sker nemlig ikke noget, når jeg trykker..
hvad er det lige forskellen er ? nå okay tilretter den så :)
Jeg har lavet om på if-sætningen: if (f.selectedIndex == 'on'){ Vil document.getElementById(elm).selectedIndex ikke have værdien "on", hvis checkboxen er afkrydset?
okay, vi starter lige forfra :) hvis en checkbox er krydset af hedder det checked == true Men hvad er det lige du skal ha ?, den jeg lavede virkede jo fint efter hensigten!
10. juli 2003 - 13:10
#10
if (f.checked){ -- det var ikke en selct ?-)
10. juli 2003 - 13:26
#11
Jeg har nu denne funktion: function skift(elm){ f = document.getElementById(elm) if (f.checked){ f.style.display = 'inline'; } else{ f.style.display = 'none';} } Og sådan ser checkboxen ud: <INPUT TYPE="checkbox" NAME="status_username" onclick="skift('username_div');" CHECKED> Nu virker funktionen ikke..Det skal jo også være sådan at hvis jeg kommer ind på siden, og boxen er CHECKED, så skal DIV'en jo være synlig!
10. juli 2003 - 13:44
#12
Vi får jo også blandet forskellige elementer sammen ... -- og boxen vil vel altid være checked, når man kommer ind på siden med den kode !-) function skift(cbox,elm){ f = document.getElementById(elm) if (cbox.checked){ f.style.display = 'inline'; } else{ f.style.display = 'none';} } Og sådan ser checkboxen ud: <INPUT TYPE="checkbox" NAME="status_username" onclick="skift(this,'username_div');" CHECKED> <div ID="username_div" NAME="username_div" style="visibility:inline;"></div>
10. juli 2003 - 14:38
#13
Det dur ikke, da den jo først vil checke om den er checked når man trykker på checkboxen! Måske du skulle se lidt mere af min kode: <tr style="text-align: left; height:25px;"> <td><B>Brugernavn:</B></td><td><INPUT TYPE="checkbox" NAME="status_username" <?PHP if ($_POST[status_username] == "on") { echo"CHECKED"; } ?> onclick="skift(this,'username_div');"> <div id="username_div" style="display:none;"> <INPUT TYPE=text MAXLENGTH=10 name=username class=but size=15 value="<?=$_POST[username]?>"> - <SELECT NAME="username_type" class=but> <OPTION <?PHP if ($_POST[username_type] == "1") { echo"SELECTED"; } ?> value="1">indeholder <OPTION <?PHP if ($_POST[username_type] == "2") { echo"SELECTED"; } ?> value="2">er <OPTION <?PHP if ($_POST[username_type] == "3") { echo"SELECTED"; } ?> value="3">starter med <OPTION <?PHP if ($_POST[username_type] == "4") { echo"SELECTED"; } ?> value="4">slutter med </SELECT></div></td> </tr>
10. juli 2003 - 14:43
#14
-- nej, men hvis du kigger i det jeg skrev, havde jeg også præcis sat div'en til 'samme' status, så det må være (kun supplement ,-) <td><B>Brugernavn:</B></td><td><INPUT TYPE="checkbox" NAME="status_username" <?PHP if ($_POST[status_username] == "on") { echo"CHECKED"; } ?> onclick="skift(this,'username_div');"> <div id="username_div" style="display:<?PHP if ($_POST[status_username] == "on") { echo"inline"; }else echo"none"?>;">
10. juli 2003 - 14:48
#15
roenving ;) tror faktisk at han vil have at den skal lave checket når siden loader :) >dennism har du flere af den slags checkboxe på samme side ?
10. juli 2003 - 14:50
#16
Jeg har styr på det nu :) Smider du ik også lige et svar roenving? Så kan I dele om point!
10. juli 2003 - 14:55
#17
>>grunken -- ja det tænkte jeg også, derfor foreslog jeg at php-koden kunne synkronisere !-) >>dennism Velbekomme '-)
10. juli 2003 - 17:21
#18
-- og takker for points ;~}
10. juli 2003 - 17:23
#19
Tak for hjælpen..
Vi tilbyder markedets bedste kurser inden for webudvikling