Toon posts:

[Js]Multiple Select & Komma's & Andere pagina

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey ppl!

Ik ben bezig met het volgende:

vanuit pagina A kan popup B worden geopend. In B zit een multiple select-box met bepaalde cijfers. Nu is het de bedoeling dat B na submitten, de this.form.string.value in A veranderd in this.form.selectbox.value van B, waarna B wordt gesloten. Het lastige zit em dan nog in dat als er 3 waarden in B zijn geselect, deze gescheiden moeten worden door komma's

Man dit klinkt ingewikkeld!

Simpeler:
ik ga vanuit A naar popup B. Daar select ik 3 nummers, klik op submit, waarna B weggaat en er in het veldje in A de rij van mijn 3 nummers staat met komma's ertussen.

Ik kom niet heel erg ver: misschien dat jullie willen helpen??

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:28

JSchut

.....

// bij enkele selectie zou zoiets moeten kunnen
window.opener.string.value = this.form.selectbox.value

functie eromheen om de array uit te lezen

PSN jschut_82 | Xbox: JSchut82


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:28

JSchut

.....

code:
1
2
3
4
5
6
7
8
var temp = '';
for (i = 0; i < document.Form.selectbox.length; i++) {
   if (document.itemForm.selectbox[i].selected) {
    temp += document.Form.selectbox[i].value + ' ';
   }
}

window.opener.string.value = this.form.selectbox.value;

PSN jschut_82 | Xbox: JSchut82


Verwijderd

Topicstarter
toevoeging:

a.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
   function NewWindow(mypage, myname, w, h, scroll) {
   var winl = (screen.width - w) / 2;
   var wint = (screen.height - h) / 2;
   winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=no'
   win = window.open(mypage, myname, winprops)
   }
</script>
</head>
<body>
<a href="javascript:NewWindow('b.html','B','200','200','no')">B</a>
<form name=c>
<input type=text name=d>
</form>
</body>
</html>

b.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<head>
<script language="javascript">
function aFunction(){
//////////????????????///////////
}
</script>
</head>
<body>
<form onSubmit="aFunction();">
<select name="b" multiple size="4">
<option value=1>1
<option value=2>2
</select><p>
<input type=submit><p>
Hold Ctrl to select multiple names
</form>
</body>
</html>

En het werkt natuurlijk nog voor geen ene mtr!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Volgens mij had JSchut het toch aardig voor je voorgekauwd :?

Verwijderd

Topicstarter
Op woensdag 01 mei 2002 17:10 schreef Bosmonster het volgende:
Volgens mij had JSchut het toch aardig voor je voorgekauwd :?
Nou dat probeer ik net maar dat lijkt toch niet te werken hoor!

Verwijderd

Topicstarter
zelfs met deze functie werkt ie al geeneens:
code:
1
2
3
4
function aFunction(){
window.opener.d.value = this.form.b.value;
window.close();
}

Verwijderd

Topicstarter
hoe zit zo'n multiple select eigenlijk in elkaar dan??

als ik dit simpele phptje gebruik (wat zelfs jullie zullen snappen!)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
if($submit){
echo $b;
}
?>
<P>
<form action=b.php method=post>
<select name="b" multiple size="4">
<option value=1>1
<option value=2>2
</select><p>
<input type=submit name=submit><p>
Hold Ctrl to select multiple names
</form>

en ik selectze allebei krijg ik er alleen 2 uit :S Vaag!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

je haalt ook alles door elkaar wat ie gezegd heeft...
Op donderdag 02 mei 2002 10:43 schreef WebMasterMike het volgende:
zelfs met deze functie werkt ie al geeneens:
code:
1
2
3
4
function aFunction(){
window.opener.d.value = this.form.b.value;
window.close();
}
"this" sloeg in zijn voorbeeld op het element. Dat werkt dus niet als je dat in een functie uitvoert, want "this" is relatief. In de functie slaat het dus op de functie :P Lang leve object-orientatie, duik daar ook eens in zou ik zeggen.

Je kunt er bijvoorbeeld zoiets van maken:
code:
1
2
3
4
function aFunction(frm){
window.opener.d.value = frm.b.value;
window.close();
}

en dan als aanroep: onsubmit="aFunction(this)"

Let verder ff op je naamgeving. "d", "b" en "string" etc is nu niet echt wat je zegt lekker coden. Let ook op gereserveerde woorden als "form" etc:

http://www.javascripter.net/faq/reserved.htm
Pagina: 1