Avatar billede lubker Nybegynder
13. august 2006 - 21:15 Der er 8 kommentarer og
1 løsning

variabel m navn på inputfelt

Hej Eksperter.
Jeg har en variabel, der indeholder navnet og "lokationen" på et inputfelt. - ex: var1 = 'parent.form.input1';

Hvordan kan jeg indsætte en værdi i dette inputfelt?

va1.value = 'nyt indhold'

virker ikke.
Noget bud?
Avatar billede mclemens Nybegynder
13. august 2006 - 22:01 #1
1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

</head><body>
<iframe src="2.html"></iframe>
<form action="" method="post" name="formularnavn">
<input type="text" name="input1" value="ok">
</form>
</body></html>


2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function val(){
var1=parent.document.formularnavn.input1;
var1.value='nyt indhold';
}
</script>

</head><body>
<b onclick="val();">Klik her</b>
</body></html>
Avatar billede mclemens Nybegynder
13. august 2006 - 22:02 #2
var1 = 'parent.form.input1';
^ - var1 indeholder her en tekst streng
og ikke en reference til dit object.
( ' - er skal ikke være der )
Avatar billede mclemens Nybegynder
13. august 2006 - 22:04 #3
Alternativer afhængig af om det er iframe m.v.


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function val(tn){
var1=tn.parentNode.input1;
var1.value='nyt indhold';
}
</script>

</head><body>

<form action="" method="post" name="formularnavn">
<input type="text" name="input1" value="ok">
<b onclick="val(this);">Klik her</b>
</form>
</body></html>
Avatar billede mclemens Nybegynder
13. august 2006 - 22:18 #4
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function val(tn){
var1=document.formularnavn.input1;
var1.value='nyt indhold';
}
</script>

</head><body>

<form action="" method="post" name="formularnavn">
<input type="text" name="input1" value="ok">
</form>

<b onclick="val(this);">Klik her</b>
</body></html>
Avatar billede lubker Nybegynder
13. august 2006 - 22:32 #5
Der var jo et par bud.
Desværre har jeg måske ikke helt gjort det tydeligt nok.

Jeg har følgende script til at generere en farvepalet.
Farven skal efterfølgende indsættes i et tekstfelt.

<script language="javascript">
var obj1;
//Farvepalet
//Generering af farvekode
hex = new Array("0", "3", "6", "9", "c", "f");

//Tabel indeholdende farver
farvehtml = '<table cellspacing="0" cellpadding="0" style="border: 1px solid black;">';

a = b = c = 0;

//Løkkeudskrivning af farverne
for (i = 0; i < 12; i++) {
  farvehtml += '<tr>';
  for (n = 0; n < 18; n++) {
    farvehtml += '<td style="font-size: 0px; background-color: #' + hex[a] + hex[a] + hex[b] + hex[b] + hex[c] + hex[c] + '; width: 10px; height: 10px; cursor: hand;" onClick="parent.udfoerFarve(\'#' + hex[a] + hex[a] + hex[b] + hex[b] + hex[c] + hex[c] + '\');">&nbsp;</td>';
    a++;
    if (a >= hex.length) {
      b++;
      a = 0;
      if (b >= hex.length) {
        c++;
        b = 0;
      }
    }
  }
  farvehtml += '</tr>';
}

farvehtml += '</table>';

//Farvepopup
farvepop = window.createPopup();
farvepop.document.body.innerHTML = farvehtml;

handl = "";

//Funktion der viser farverne
function farver(obj, h) {
  handl = h;
  obj1 = 'parent.form.'+obj.name;
  farvepop.show(5, obj.offsetHeight + 5, 182, 122, obj);
}
//Giv element den farve der er valgt i paletten
function udfoerFarve(f) {
  obj1.value = f;
  farvepop.hide();
}
//Farvepalet slut

</script>

Jeg kalder funktionen på følgende måde: farver('inputfelttilfarvekoden');
Avatar billede mclemens Nybegynder
13. august 2006 - 23:28 #6
obj1 = 'parent.form.'+obj.name;
... Skiver lige inden jeg tester - prøv:
obj1 = parent.form[obj.name];

- ser lige om jeg kan teste det ...
Avatar billede lubker Nybegynder
13. august 2006 - 23:52 #7
Kanon.
Det virker perfekt.

Tak for hjælpen.
Avatar billede mclemens Nybegynder
13. august 2006 - 23:57 #8
Hehe, ok så hopper jeg over det med at teste :o)
Tak for hurtig respons (fri for test) :o)
- Og tak for point :)
Avatar billede lubker Nybegynder
14. august 2006 - 00:06 #9
Det er nu mig der takker...
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

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