Avatar billede hansjacob Nybegynder
21. august 2000 - 12:36 Der er 13 kommentarer og
1 løsning

Skjule formfelter vise dem, når en tjekboks er tjekket.

Hej

Hvordan laver man en funktion, der hvis man tjekker en tjekboks viser nogle radio-felter ?
Dvs. jeg skal bruge en ting, der hvis man svarer på én måde viser nogle flere formfelter.
Avatar billede geeeet Nybegynder
21. august 2000 - 12:43 #1
Det nemmeste ville nok være at vise et skjult lag når et felt bliver checked...

altså sætte en onchange på din checkbox, og så vise et lag med dine radiobuttons i...

/Geeeet
Avatar billede zaknafein Praktikant
21. august 2000 - 12:47 #2
Brug visible attributten til at skjule elementer.

object.style.visibility=\"hidden\";

så når der bliver valgt et punkt sætter du
object.style.visibility=\"hidden\";!
Dette er til explorer!



Avatar billede hansjacob Nybegynder
21. august 2000 - 13:04 #3
<script language=\"javascript\">
<!--
    if(document.mailForm.skrivmail=\"true\") {
        document.mailForm.sendsenere.style.visibility = \"visibel\";
    }
    else {
        document.mailForm.sendsenere.style.visibility = \"hidden\";
    }
       

-->
</script>

Den der er lavet, men virker ikke

document.mailForm.sendsenere.style er ikke et objekt. ?? Det forstår jeg ikke, for mine radio\'er har fået navnene sendsenere.

Avatar billede zaknafein Praktikant
21. august 2000 - 13:20 #4
prøv at sætte deres ID=\"radio\'er\" og ikke name=\"radio\'er\"!
Avatar billede zaknafein Praktikant
21. august 2000 - 13:23 #5

så kan du sige:
document.all(\"radioer\").style.visibility=\"visible\"
Avatar billede hansjacob Nybegynder
21. august 2000 - 13:41 #6
Nu skiver den, at et objekt er obligatorisk....
Avatar billede zaknafein Praktikant
21. august 2000 - 14:05 #7
vis mig lige din <Input radiobutton linie>!

og dit script!
Avatar billede hansjacob Nybegynder
21. august 2000 - 14:12 #8
Mit script er monster langt, så her er selve formen.

<form action=\"<? echo $php_self; ?>\" method=\"post\" name=\"mailForm\">
Emne/overskrift: <br><input type=\"text\" name=\"emne\"><p>
Artiklen:<br><textarea name=\"artiklen\" rows=\"15\" cols=\"60\" ></textarea>
<br>
<input type=\"checkbox\" name=\"afsendertag\" checked>Skriv mig som afsender, incl min email adresse.
<p><p>

<script language=\"javascript\">
<!--
    if(document.mailForm.skrivmail=\"true\") {
        document.all(\"sendsenere\").style.visibility=\"visible\"
    }
    else {
        document.all(\"sendsenere\").style.visibility=\"visible\"
    }
       

-->
</script>
<input type=\"checkbox\" name=\"skrivmail\">Send SMS om opdateret hjemmeside.
<br>    <input type=\"radio\" name=\"sendsenere\" ID=\"sendsenere\" checked>Send beskeden senere (klokken 8:00 i morgen)
<br>    <input type=\"radio\" name=\"sendsenere\" ID=\"sendsenere\">Send den nu.


<input type=\"hidden\" name=\"navn\" value=\"<? echo $navn ?>\">
<input type=\"hidden\" name=\"pass\" value=\"<? echo $pass ?>\">
<p>
<? } ?>
<script language=\"javascript\">
<!--
    document.title =\"<? echo $titel ?>\";
-->
</script>

<br><input type=\"submit\" value=\"<? echo $knaptekst ?>\"><br>
</form>
Avatar billede zaknafein Praktikant
21. august 2000 - 14:53 #9
hmm problemet er her:
if(document.mailForm.skrivmail=\"true\")
        document.all(\"sendsenere\").style.visibility=\"visible\"
    }
    else {
        document.all(\"sendsenere\").style.visibility=\"hidden\" <----*** og her
    }
       
hvis du skriver if(1<2) så vises den men hvis man skriver
if(1>2) vises den ikke, så det er nok formobjektet som ikke genkendes!
Avatar billede styrmand Nybegynder
21. august 2000 - 14:55 #10
Du skal have et div tag (alternativt et <Span> med ind i billedet.

<script language=\"javascript\">
<!--
    if(document.mailForm.skrivmail=\"true\") {
        document.all(\"MitDiv\").style.visibility=\"visible\"
    }
    else {
        document.all(\"MitDiv\").style.visibility=\"visible\"
    }
       

-->
</script>
<input type=\"checkbox\" name=\"skrivmail\">Send SMS om opdateret hjemmeside.
<br>
<DIV id=\"MitDiv\"><input type=\"radio\" name=\"sendsenere\" ID=\"sendsenere\" checked>Send beskeden senere (klokken 8:00 i morgen)
<br>    <input type=\"radio\" name=\"sendsenere\" ID=\"sendsenere\">Send den nu.
</Div>

Avatar billede zaknafein Praktikant
21. august 2000 - 15:02 #11
Ok gode gamle:
\"=\"  = tildeling
\"==\" = test

if(document.mailForm.skrivmail=\"true\")
if(document.mailForm.skrivmail==\"true\")
Avatar billede rfogh Nybegynder
21. august 2000 - 17:51 #12
Dit eget script:

<script language=\"javascript\">
<!--
    if(document.mailForm.skrivmail=\"true\") {
        document.mailForm.sendsenere.style.visibility = \"visible\";
    }
    else {
        document.mailForm.sendsenere.style.visibility = \"hidden\";
    }
       

-->
</script>


...du havde skrevet visibel i stedet for visible... Prøv om det virker nu...
Avatar billede hansjacob Nybegynder
22. august 2000 - 08:41 #13
Styrmand>>> Virker div-tag\'en også i NS ?
Avatar billede styrmand Nybegynder
22. august 2000 - 22:55 #14
Ja DIV tagget fungerer, dog på en lidt anden måde.
For det første skal dine <DIV> opbygges således:
<DIV ID=\"MitDiv\" Style=\"Position:Absolute\">
Det medføre at de vil placere sig underligt.
Når man refererer i NS skal referencen se således ud.
Document.MitDiv.visibillity=\"show\" eller
Document.MitDiv.visibillity=\"hide\".
Dit Javascript vil så se således ud:
<!--
if (document.all){ //IE
    if(document.mailForm.skrivmail=\"true\") {
        document.all(\"MitDiv\").style.visibility=\"visible\"
    }
    else {
        document.all(\"MitDiv\").style.visibility=\"visible\"
    }
}
else //NS
{
    if(document.mailForm.skrivmail=\"true\") {
        document.MitDiv.visibility=\"show\"
    }
    else {
        document.MitDiv.visibility=\"hide\"
    }

}
Pragtfuldt ikke?
       




Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester