08. august 2006 - 15:43
Der er
2 kommentarer og
1 løsning
Udfør operation på element hvis navn findes i input felt.
Dette lyder måske lidt knudret...
Men skal prøve at forklare det så godt jeg kan.
Jeg har et input felt, med navnet på et andet input felt, som jeg skal arbejde med.
Ex
input1 = "parent.form.outbordercolor"
Herefter skal jeg kunne arbejde med det felt der er omtalt (parent.form.outbordercolor)
Hvordan gør jeg det?
08. august 2006 - 18:48
#1
Vil du serverside sætte navnet på et felt, som du client-side skal arbejde med ?-)
-- så gøres det nemmest, hvis du skriver en linje javascript fra serveren _efter_ definitionen af formen (pseudo-kode i server-scriptet !-)
$feltetsNavn = "karl";
$formensNavnMM = "parent.document.form1";
print "<script type='text/javascript'>var actField = $formensNavnMM.$feltetsNavn;</script>";
-- så kan du bruge variablen som direkte reference i javascript-funktioner !o]
08. august 2006 - 19:17
#2
Nej, det har såmænd ikke noget med adressen at gøre.
Jeg har en side, med en række inputfelter og en knap til hvert felt.
Når man trykker på knappen, vises et farveskema for brugeren kan vælge en farve. Efter dette skal farvekoden indsættes i det felt der passer til den knap der er trykket på.
Forsøgte at overføre objekt navnet gennem flere funktioner, men uden held.
Ville derfor prøve en lidt alternativ løsning.
Mit bud på løsningen ser således ud, men det virker ikke.
Problemet er formodentlig overførslen af variablen obj:
<script language="javascript">
//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] +' , ' + obj + '\');"> </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) {
parent.form.tmp.value = 'parent.form.'+obj.name;
handl = h;
farvepop.show(5, obj.offsetHeight + 5, 182, 122, obj);
}
//Giv element den farve der er valgt i paletten
function udfoerFarve(f, obj) {
// var obj = parent.form.tmp.value;
obj.value = f;
farvepop.hide();
}
//Farvepalet slut
</script>
<form id='form'>
<input name='farve1' id='farve1' class='input' value=''><input type='button' class='button' value='Vælg farve' onclick='farver(farve1);'>
<input name='farve2' id='farve2' class='input' value=''><input type='button' class='button' value='Vælg farve' onclick='farver(farve2);'>
<input name='farve3' id='farve3' class='input' value=''><input type='button' class='button' value='Vælg farve' onclick='farver(farve3);'>
<input name='farve4' id='farve4' class='input' value=''><input type='button' class='button' value='Vælg farve' onclick='farver(farve4);'>
<input name='farve5' id='farve5' class='input' value=''><input type='button' class='button' value='Vælg farve' onclick='farver(farve5);'>
</form>