S Smultron Medlem sedan juli 2002 423 inlägg Frågan 3 mars 2004 14:45 #1 Jag har ett popup där jag listar en massa checkboxar.
jag vill att när man kryssar för en textbox ska värdet som den har läggas till i en INPUT-text i "moderframen" för den...
så att den fylls på också...om man kyrssar i flera så läggs det till det ersätts inte.
snälla hjälp mig
Jesper T Medlem sedan nov. 2001 7 144 inlägg Detta är väl kanske inte optimalt eftersom att inte värderna plockas bort om man klickar bort bocken, men, men...
[b]Första sidan:[/b]
<body>
<a href="javascript:void(window.open('iframe.htm','','width=350 height=200'));">Klick!</a><br>
<form name="foo">
<input type="text" name="bar">
</form>
</body>
[b]Popup: [/b]
<body>
<input type="checkbox" onclick="top.window.opener.foo.bar.value+=this.value;" value=" Mamma"><br>
<input type="checkbox" onclick="top.window.opener.foo.bar.value+=this.value;" value=" Pappa"><br>
<input type="checkbox" onclick="top.window.opener.foo.bar.value+=this.value;" value=" Barn"><br>
</body>
S Smultron Medlem sedan juli 2002 423 inlägg thx, men då vill jag göra så att om man klickar ur så försvinner "värdet" från textbox också, nu lägger den till en ny till närman kryssar ur den
det blir nog lite svårare?
P Peter S Medlem sedan dec. 2002 5 483 inlägg Redigerad
Troligen inte den mest optimala lösningen, men den kanske duger för ditt ändamål.
Anta att ditt formulär heter f och att textfältet heter t i huvudramen, samt att formuläret i popupfönstret heter f . Då kan du använda följande kod i popupfönstret:
<script type="text/javascript">
window.onload = function() {
var
elms = document.forms["f"].elements,
iLen = elms.length,
mElm = window.opener.document.forms[[b]"f"[/b]].elements[[b]"t"[/b]];
while ( iLen-->0 ) {
if ( elms[iLen].type == "checkbox" ) {
elms[iLen].onclick = function() {
if ( mElm.value.indexOf( this.value ) == -1 )
mElm.value += this.value;
else
mElm.value = mElm.value.replace( new RegExp( this.value ), "" );
}
}
}
}
</script>
<form name="f">
<input type="checkbox" value="c1">
<input type="checkbox" value="c2">
<input type="checkbox" value="c3">
</form>
:)