Avatar billede dp2001 Juniormester
27. november 2001 - 17:48 Der er 4 kommentarer og
1 løsning

Script ifb. med <input>

Jeg har en række <input>\'s i en <form>.

Hvis jeg f.eks. skriver \"Ole Bent\" i et <input>, vil jeg gerne have, at der står \"Ole Bent\" i toppen af dokumentet, lige så snart, at jeg har ændret <input>.

Jeg er klar over, at jeg formentlig skal bruge onchange=\"script\", men skal jeg herefter angive et <script> og hvordan og hvorledes? Jeg savner et eksempel!
Avatar billede lestrata Nybegynder
27. november 2001 - 18:03 #1
Følgende eksempel virker i IE:



<html>
<head>
<script>
function skrivTilTop(msg){

topDIV.innerHTML = msg;

}


</script>
</head>
<body>
<div id=topDIV></div>

<input type=text onkeypress=\"skrivTilTop(this.value)\" onkeyup=\"skrivTilTop(this.value)\" onkeychange=\"skrivTilTop(this.value)\">


</body>
</html>
Avatar billede lestrata Nybegynder
27. november 2001 - 18:09 #2
Følgende virker muligvis også i Netscape:

<html>
<head>

<script>
function skrivTilTop(msg){

form1.output.value = msg;

}
</script>
</head>

<body>
<form name=\"form1\" method=\"post\" action=\"\">
  <input type=\"text\" name=\"output\" style=\"width:100%; border:0px solid #FFFFFF;\">
</form>
<form name=\"form2\" method=\"post\" action=\"\">
  <input type=\"text\" name=\"input\" onkeypress=\"skrivTilTop(this.value)\" onkeyup=\"skrivTilTop(this.value)\" onkeychange=\"skrivTilTop(this.value)\">
</form>
</body>
</html>
Avatar billede dp2001 Juniormester
27. november 2001 - 18:11 #3
Det virker da meget fint...men jeg bliver nødt til lige at have lidt forklaring, for at jeg kan bruge det til noget nyttigt.

Problemet er, at jeg ved udfyldelse af 8 enkelte input, gerne vil have denne data udfyldt i 8 gange 12 andre celler i en tabel.

Kan man kalde det samme script fra 12 forskellige steder?

Hvad gør den der <div id=topDIV></div> i øvrigt?

Avatar billede lestrata Nybegynder
27. november 2001 - 18:29 #4
Ja med lidt modifikationer kan du selv definere tekstens target.

<div id=topDIV></div> er bare der teksten bliver outputtet, men så vidt jeg ved understøtter Netscape ikke innerHTML/innerText så det første eksempel er nok ikke så godt at bruge.

Du kunne også skrive følg. istedet for:

<table>
<tr>
<td id=topDIV></td>
</tr>
</table>



<html>
<head>

<script>
function skrivTilTop(msg, target){

eval(target);
target.value = msg;

}
</script>
</head>

<body>
<form name=\"outputform1\" method=\"post\" action=\"\">
  <input type=\"text\" name=\"output1\" style=\"width:100%; border:0px solid #FFFFFF;\">
</form>
<form name=\"outputform2\" method=\"post\" action=\"\">
  <input type=\"text\" name=\"output1\" style=\"width:100%; border:0px solid #FFFFFF;\">
</form>

<form name=\"inputform1\" method=\"post\" action=\"\">
  <input type=\"text\" name=\"input1\" onkeypress=\"skrivTilTop(this.value,outputform1.output1)\" onkeyup=\"skrivTilTop(this.value,outputform1.output1)\" onkeychange=\"skrivTilTop(this.value,outputform1.output1)\">

  <input type=\"text\" name=\"input2\" onkeypress=\"skrivTilTop(this.value,outputform2.output1)\" onkeyup=\"skrivTilTop(this.value,outputform2.output1)\" onkeychange=\"skrivTilTop(this.value,outputform2.output1)\">


</form>
</body>
</html>
Avatar billede dp2001 Juniormester
27. november 2001 - 23:18 #5
Hejza

Så er der point på vej!

Jeg fik det omsider til at virke. Jeg ville have det ind i en <table>, men fandt efter lang tid ud af, at man ikke kan bruge name=\"\" i <table>\'s.

Så jeg valgte følgende løsning, hvilken virker fint:

<table>
<tr>
<td id=topDIV></td>
</tr>
</table>



<html>
<head>

<script>
function skrivTilTop(msg, target){

eval(target);
target.value = msg;

}
</script>
</head>

<body>
<form name=\"outputform1\" method=\"post\" action=\"\">
<table border=\"1px\">
<tr>
<td>felt1
  <input type=\"text\" name=\"output1\" style=\"width:100%; border:1px solid #FFFFFF;\">
</td>
<td>felt2
  <input type=\"text\" name=\"output2\" style=\"width:100%; border:1px solid #FFFFFF;\">
</td>
</tr>
</table>
</form>
<form name=\"inputform1\" method=\"post\" action=\"\">
  <input type=\"text\" name=\"input1\" onkeypress=\"skrivTilTop(this.value,outputform1.output1)\" onkeyup=\"skrivTilTop(this.value,outputform1.output1)\" onkeychange=\"skrivTilTop(this.value,outputform1.output1)\">
  <input type=\"text\" name=\"input2\" onkeypress=\"skrivTilTop(this.value,outputform1.output2)\" onkeyup=\"skrivTilTop(this.value,outputform1.output2)\" onkeychange=\"skrivTilTop(this.value,outputform1.output2)\">
</form>
</body>
</html>
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