Toon posts:

[Javascript] Gegeven drop down van Form1 gebruiken in form2.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met een klein probleempje, waar ik al heel wat over gevonden heb maar ik kom er niet uit.

Ik heb 2 FORM's
code:
1
2
3
4
5
6
7
8
9
<form name="form1" method="post" action="">
    <select name="select">
    </select>
</form>
<br>
<form name="form2" method="post" action="">
  <input type="hidden" name="textfield">
  <input name="text" type="text">
</form>


Nu wil ik als ik bij het drop down menu van form1 iets selecteer dat ik het gegeven dan kan gebruiken bij form2.

Hoe kan ik dit het beste doen. Ik kom er niet uit.

Ik heb zoiets gevonden:
code:
1
2
var n = obj.selectedIndex;    // Which menu item is selected
var val = obj[n].text;        // Return string value of menu item
Maar wat moet ik daar mee doen? Javascript is voor mij echt nog een raadsel...

Verwijderd

je kan dat opvragen met :

JavaScript:
1
form2.text.value = form1.options[form1.selectedIndex].value;

[ Voor 15% gewijzigd door Verwijderd op 08-06-2004 14:49 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

JavaScript:
1
document.forms["form2"].elements["text"].value = document.forms["form1"].elements["select"].value;

[ Voor 31% gewijzigd door André op 08-06-2004 14:46 ]


Verwijderd

Topicstarter
Ja heel stom maar waar moet ik dat dan plaatsen? Onder value?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
<form name="form1" method="post" action="">
    <select name="select" onchange="document.forms['form2'].elements['text'].value = this.options[this.options.selectedIndex].value;">
      <option value="1">A</option>
      <option value="2">B</option>
    </select>
</form>
<br>
<form name="form2" method="post" action="">
  <input type="hidden" name="textfield">
  <input name="text" type="text">
</form>

[ Voor 101% gewijzigd door André op 08-06-2004 14:57 ]


Verwijderd

Topicstarter
ik ben je eeuwig dankbaar. Ik merk dat je toch wel heeel veel met javascript gedaan kan worden. De eerst volgende stap die ik ga nemen is het leren van javascript want dat maakt sommige dingen een stuk makkelijker.

Verwijderd

Topicstarter
Is er ook een oplossing voor het feit dat er meerder FORM2 voorkomen?

Er worden namelijk een aantal van die FORM's gegenereerd door een loop. Deze hebben allemaal dezelfde name... en dus komen er ook meerdere text velden voor.. in elk form 1.

Ik wil dus eigenlijk met de verandering van het drop down menu alle textvelden met de naam "text" in alle form's veranderen... is dit mogelijk?

Ik heb dus 1 form waar ik een drop down menu in hebt staan. En nog een hoop andere form's waar het textveld "text" in voor komt....

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Dan zul je een wat geavanceerder script moeten maken dat met gebruik van getElementsByTagname door de formulieren heen loopt. En formulieren moeten allemaal een unieke naam hebben.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

algemene opmerking: je hebt geen form nodig om elementen als select en input te kunnen gebruiken; je kan ook gewoon die elementen een ID geven, of mbv getElementsByTagName door je elementen heenlopen.

Intentionally left blank


  • bdu
  • Registratie: Februari 2002
  • Laatst online: 24-05 23:06

bdu

okee daar zal ik dan ff aan moeten werken..

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

bdu schreef op 08 juni 2004 @ 15:46:
okee daar zal ik dan ff aan moeten werken..
Op wie reageer jij? Of ben jij de TS onder een andere account?

Verwijderd

Topicstarter
ja idd.. dat was ik op computer van een 'collega' .. maar ik ga er eens naar kijken.. bedankt

Verwijderd

Topicstarter
Is het ook mogelijk om het gegeven uit het dropdown menu als variable te gebruiken? Zonder dat ik op post druk ofzo.. en ook zonder dan de pagina opnieuw geladen moet worden.

Dan ben ik namelijk niet gebonden aan een nieuw form. Dus wanneer er in form1 A word geselcteerd dat dan het gegeven A in een variabele 'geladen' word.

ps. het gaat hier dan om asp.

Verwijderd

Nee, dit kan niet zonder de pagina te verversen. Je moet immers eerst de formulierelementvariabele doorgeven (POST of GET) aan een ASP-script dat je uitvoert.

ASP is immers server-side en ASP-bestanden dienen derhalve dus altijd geparsed te worden.

Edit:

Je kunt natuurlijk wel zaken in een JS-variabele verzamelen, en vervolgens de hele hap in een keer doorsturen (d.m.v. GET) naar het betreffende ASP-bestand.

[ Voor 41% gewijzigd door Verwijderd op 08-06-2004 22:10 ]


  • bdu
  • Registratie: Februari 2002
  • Laatst online: 24-05 23:06

bdu

ik gebruik meerder form's die ik apart verzend. Maar ik heb steeds het variabele nodig dat ik selecteer in het dropdown menu. Hoe kan die die variabele die ik uit dat dropdown menu krijg in een asp from steeds gebruiken. Dus dat ik hem bij elk form kan gebruiken?

Alles forms worden met de GET methode gepost.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

bdu schreef op 08 juni 2004 @ 22:26:
ik gebruik meerder form's die ik apart verzend. Maar ik heb steeds het variabele nodig dat ik selecteer in het dropdown menu. Hoe kan die die variabele die ik uit dat dropdown menu krijg in een asp from steeds gebruiken. Dus dat ik hem bij elk form kan gebruiken?

Alles forms worden met de GET methode gepost.
Het zou wellicht helpen als je even globaal uitlegt wat precies de functionele werking moet zijn. Zoals ik het begrijp heb je een select en een x aantal forms, en ongeacht welk form je uiteindelijk submit, de waarde van de algemene select moet meegestuurd worden met het formulier. Klopt dat een beetje?

Wat je dan zou kunnen doen is bij elk formulier alvast een hidden field opnemen waar die waarde in komt te staan, en onsubmit van dat specifieke formulier de waarde van de select uitlezen en in dat hidden field plaatsen.
Wellicht zijn er nog wel andere mogelijkheden, maar dat hangt een beetje af van wat je precies wilt bereiken.

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op 08 juni 2004 @ 22:49:
[...]

Het zou wellicht helpen als je even globaal uitlegt wat precies de functionele werking moet zijn. Zoals ik het begrijp heb je een select en een x aantal forms, en ongeacht welk form je uiteindelijk submit, de waarde van de algemene select moet meegestuurd worden met het formulier. Klopt dat een beetje?
Dit is idd wat ik wil. Ik het een aantal gegevens uit een database in een loop geladen. Bij die gegevens heb ik wat textvelden geladen. die dan weer afzonderlijk van elkaar gepost moeten kunnen worden.
Wat je dan zou kunnen doen is bij elk formulier alvast een hidden field opnemen waar die waarde in komt te staan, en onsubmit van dat specifieke formulier de waarde van de select uitlezen en in dat hidden field plaatsen.
Wellicht zijn er nog wel andere mogelijkheden, maar dat hangt een beetje af van wat je precies wilt bereiken.
Ik heb het idd geprobeerd met om bij elk form een (hidden)field te maken en daar dan het gegeven van de algemene select in te voegen. Maar dat lukt me alleen als je van Form1 naar Form2 gaat. Maar al die andere forms daar lukt het niet. Zou ik iets van een lus moeten maken.

Verwijderd

Verwijderd schreef op 09 juni 2004 @ 10:55:
[...]
Dit is idd wat ik wil. Ik het een aantal gegevens uit een database in een loop geladen. Bij die gegevens heb ik wat textvelden geladen. die dan weer afzonderlijk van elkaar gepost moeten kunnen worden.
[...]
Ik heb het idd geprobeerd met om bij elk form een (hidden)field te maken en daar dan het gegeven van de algemene select in te voegen. Maar dat lukt me alleen als je van Form1 naar Form2 gaat. Maar al die andere forms daar lukt het niet. Zou ik iets van een lus moeten maken.
Je bedoelt de waarde van de select die op dat moment geselecteerd is? Anyways, ik zou inderdaad ook gewoon met een lus de betreffende verborgen velden vullen.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

ok, simpel voorbeeld:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<select id="myselect">
  <option>Maak een keuze:</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
</select>
<form action="#" method="post" onsubmit="return fill_hidden_field(this)">
  <input type="hidden" name="selectvalue" />
  <!-- de rest -->
  <input type="submit" />
</form>
<form action="#" method="post" onsubmit="return fill_hidden_field(this)">
  <input type="hidden" name="selectvalue" />
  <!-- de rest -->
  <input type="submit" />
</form>
<form action="#" method="post" onsubmit="return fill_hidden_field(this)">
  <input type="hidden" name="selectvalue" />
  <!-- de rest -->
  <input type="submit" />
</form>


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function fill_hidden_field(thisform) {

  var select = document.getElementById('myselect');
  if (select.selectedIndex == 0) {
    alert('geen keuze gemaakt!');
    return false;
  }

  thisform.elements['selectvalue'].value = select[select.selectedIndex].value;
  return true;

}


suc6 ermee!

Intentionally left blank

Pagina: 1