[javascript] form met meerdere uitwegen

Pagina: 1
Acties:

  • scaver
  • Registratie: September 2001
  • Laatst online: 30-07-2025
Doel: form maken met keuze uit twee routeplanners

Ik heb:

postcode (input)
straat (input)
plaats (input)
land (select)
routeplanner (select)

Nu wil ik dat je aan de hand van de select van de routeplanner kunt bepalen welk script ie gaat uitvoeren.

Ik heb nu zoiets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<html>
<head>

<script language="Javascript">
function Post(){
if (document.planner.routeplanner.value =="planner1"){
  var form=document.createElement('form');
  document.getElementsByTagName("body")[0].appendChild(form);

  form.setAttribute('name','formpje');
  form.setAttribute('action','test.html');
  form.setAttribute('target','_blank');
  form.setAttribute('method','post');

  var temp=document.createElement("input");
  form.appendChild(temp);
  temp.setAttribute("type", "hidden");
  temp.setAttribute("name", "postcode");
  temp.value = document.planner.text1.value;
  <!--etc-->
  form.submit();
  }
if (document.planner.routeplanner.value =="planner2") {
 <!--min of meer hetzelfde als hierboven-->
 }  
} 
</script>
</head>
<body>

<form name="planner" method="post">
<input type="text" name="text1">


<select name="routeplanner">
 <option value="planner1" >ALH Planner
 <option value="planner2" >Locatienet
</select>

<input type="submit" onClick="Post()">
</form>
</body>
</html>


Kan iemand mij ff verder helpen?

[ Voor 19% gewijzigd door scaver op 21-07-2003 09:52 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Waarom niet gewoon een simpel scriptje dat de action veranderd met wat hidden fields ipv van deze onnodige 'overkill' aan code :?

Verder.. zet je code ff tussen code-tags.. wel zo leesbaar :/

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

Gewoon even het onbeforesubmit() event afvangen, dan in een eigen functie even de de juiste action zetten a.d.h.v. je criteria..

Download my music on SoundCloud


  • scaver
  • Registratie: September 2001
  • Laatst online: 30-07-2025
Bosmonster schreef op 21 July 2003 @ 09:47:
Waarom niet gewoon een simpel scriptje dat de action veranderd met wat hidden fields ipv van deze onnodige 'overkill' aan code :?

Verder.. zet je code ff tussen code-tags.. wel zo leesbaar :/
Hoe bedoel je? Het punt is dat de data die geparsed moet worden verschillende namen bevat. Kun je me een voorbeeldje geven?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Zoals ik het nu zie is het enige dat je wilt doen een verborgen formuliertje submitten aan de hand van de keuze van de gebruiker. Wat JIJ doet is nadat een gebruiker iets kiest dynamisch een formulier aan proberen te maken en dat dan submitten..

Wat IK zou doen is gewoon de twee te submitten formuliertjes al in hidden in de pagina zetten en afhankelijk van de keuze van de gebruiker een van de twee submitten.

  • scaver
  • Registratie: September 2001
  • Laatst online: 30-07-2025
Bosmonster schreef op 21 July 2003 @ 10:02:
Zoals ik het nu zie is het enige dat je wilt doen een verborgen formuliertje submitten aan de hand van de keuze van de gebruiker. Wat JIJ doet is nadat een gebruiker iets kiest dynamisch een formulier aan proberen te maken en dat dan submitten..

Wat IK zou doen is gewoon de twee te submitten formuliertjes al in hidden in de pagina zetten en afhankelijk van de keuze van de gebruiker een van de twee submitten.
Ja maar als je twee forms gebruikt zul je toch de ene data naar de andere moeten kopieren ofzo? Je vult nl 1 formulier in. Ik kopieer het van een soort van temp naar een te submitten form. Of is er iets te maken dat als je een select bovenaan neer zet met de keuze uit de twee routeplanners en vanhieruit een van de twee forms zichtbaar maakt ofzo? Het liefste wil ik iets op een uniforme manier maken omdat ik dit principe nog vaker nodig heb.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Kopieren van values van het ene form naar het andere form is natuurlijk niet het grootste probleem.
JavaScript:
1
2
document.forms['form1'].elements['el1'].value = 
    document.forms['form2'].elements['el1'].value;


Als het om 2 formpjes gaat is de snelste oplossing inderdaad om gewoon de forms al (hidden) in je pagina op te nemen, de inputs van het juiste form te vullen bij een keuze van de gebruiker en dat form te submitten.
Natuurlijk kan je ook 1 form pakken waar je alle inputs in stopt en alleen degene vult die je nodig hebt. Bij een submit is het dan een kwestie van de action van het form even aanpassen.

Maar op zich is de methode die je zelf kiest imho wel een mooie. Maar dan zou ik e.e.a. iets generieker opzetten (wat meer opsplitsen in functies) om de code wat compacter en overzichtelijker te houden.

Pseudo
code:
1
2
3
4
5
6
function Post
  // afhankelijk van UserKeuze
  InitForm (SubmitAction)
  AddInput (InputName, Value)
  AddInput (InputName, Value)
  SubmitTheForm


Om terug te komen op je vraag in je openings post: Wat lukt er niet?

[ Voor 3% gewijzigd door Annie op 21-07-2003 11:04 ]

Today's subliminal thought is:


  • scaver
  • Registratie: September 2001
  • Laatst online: 30-07-2025
Annie schreef op 21 July 2003 @ 11:04:
Om terug te komen op je vraag in je openings post: Wat lukt er niet?
De code komt netjes in de if functie. Dat is niet het probleem.
Maar dan.. Volgens mij maak ik een form niet goed op.. want hij post niets.
Ik heb 'm al eens op get gezet om te kijken of ik variable in de taakbalk zag verschijnen, maar niets he..

Weet iemand hoe je netjes een form maakt in javascript?
komt dat door die "body"[0]??

[ Voor 4% gewijzigd door scaver op 21-07-2003 11:33 ]


  • scaver
  • Registratie: September 2001
  • Laatst online: 30-07-2025
Ik heb 'm toch maar aangepast naar hidden fields.. en dan als er gesubmit wordt deze in te vullen.. Dit werkt prima.. nu wil ik eigenlijk nog de action aanpassen.. dan dit ook nog?

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 17:28

alienfruit

the alien you never expected

form1.action = "bliep";

  • scaver
  • Registratie: September 2001
  • Laatst online: 30-07-2025
ok dan.. scriptje werkt prima.. hartelijk dank voor de hulp..
Pagina: 1