Gå til innhold

funksjonskall via document.write


Anbefalte innlegg

Lurer bare på om noen kan hjelpe meg med dette lille problemet.

<html>
<body>
<script language="JavaScript">
function test1()
{
alert("Dette er en test 1")
document.write("<form><input type=\"button\" value=\"Testknapp2\" onClick=\"test2()\"></form>")
}
function test2()
{
alert("Dette er test 2")
}

</script>
<form>
<input type="button" value="Testknapp1" onClick="test1()">
</form>
</body>
</html>

 

Hvordan skal jeg få kalt funksjonen test2 fra funskjonen test1 ved hjelp av form? Problemet er at document.write fjerner all den andre html koden inkl funksjonen...

 

 

Hjelp mottas med stor takk :)

Lenke til kommentar
Videoannonse
Annonse

Kunne du forklart litt nærmere hva dette skal brukes til?

 

Kanskje du kunne laget en funksjon som het alle_test(), og gå videre derfra via if/else setninger til test1() og test2().

 

Forklar litt nærmere hva du vil skal skje her, så kanskje jeg kan hjelpe.

 

Det fins metoder for å forandre value'en til knappen...om det er det du er ute etter.

 

EDIT:

document.navn_til_form.navn_til_knapp.value = "Testknapp2";

denne linjen forandrer hva det står på knappen.

 

if(document.navn_til_form.navn_til_knapp.value = "Testknapp2")

//forandre verdien på knappen til "Testknapp1" om det er det du vil

else

//forandre til "Testknapp2"

 

..jeg vet ikke om det er noe sånt du er ute etter, men bare spør mer om det var feil svar. :thumbup:

 

EDIT2:

hehe..etter å ha lest det du spurte om en gang til, så tror jeg det er noe sånt du leter etter:

<html>
<body>
<script language="JavaScript">
function test()
{
var knapp;
if(document.testform.testknapp.value == "Testknapp1"){
 knapp = "Testknapp2";
}
else{
 knapp = "Testknapp1";
}
document.testform.testknapp.value = knapp;
}
</script>
<form name="testform">
<input name="testknapp" type="button" value="Testknapp1" onClick="test()">
</form>
</body>
</html>

Endret av need4sms
Lenke til kommentar

Jo, det jeg egentlig skal bruke det til er å ha en form med en select liste i vanlig html body'en. Hvert valg i den listen skal generere en helt ny select liste med nye valg (ulike valg avhengig av hva du velger i liste1). Så skal valget i liste2 generere en vanlig utskrift ut fra hva man har valgt. Derfor tenkte jeg at form1 kaller funksjon1 som genererer form2 ved hjelp av document.write, som igjen kaller funksjon2 som som kommer med en utskrift...

 

Var det forståelig? Kanskje det er en lagt lettere måte å gjøre dette på..?

 

 

Takk for svar :thumbup:

Lenke til kommentar

Jeg har lagd noe lignende for litt siden:

http://need4sms.com/PHP/login/register.php

 

..der velger man først fylke, og så velger man kommune deretter. Kommune listen forandres hver gang fylke forandres. Du kan jo se på det skriptet, om det er det du trenger.

 

EDIT:

Mulig noe mer kan fjernes, men her er samme koden forkorta:

<html>
<head>
<title></title>
</head>
<body>

<script LANGUAGE="JavaScript">
function list(selected)
{

var liste1 = new Array("0","Eple","Pære");
var liste2 = new Array("1","Bil", "Båt", "Motorsykkel");

var slct_list = testform.test1.options[selected.selectedIndex].value;

var liste = new Array();
if(slct_list == liste1[0]){ var liste = liste1;}
else if(slct_list == liste2[0]){ var liste = liste2;}


for(k=0; k<=6; k++){
 for(j=1; j<=liste.length; j++){
 	document.testform.test2.remove(j);
 }
}
for(i=1; i<=(liste.length-1); i++){
 document.testform.test2.options[i]=new Option(liste[i])
}
}
</SCRIPT>

<form name="testform">

<select name="test1" size="1" onclick="javascript:list(this)" onchange="javascript:list(this)">
<option value=""></option>
<option value="0">Frukt</option>
<option value="1">Kjøretøy</option>
</select>

<select name="test2">
<option>        </option>
</select>
</form>

</body>
</html>

Endret av need4sms
Lenke til kommentar
Scriptet fungerte fint i IE, men ikke FireFox.

Bare så du er klar over det.

Takk for "heads up"'n. Fungerer visst ikke i netscape heller.

Jeg har ikke debugga enda, har ikke kommet så langt med det prosjektet.

 

Goffa: Vær ops på det, scriptet funker i IE og Opera, men ikke FireFox og Netscape.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...