E-mail formulier

  • Onderwerp starter Onderwerp starter Neuz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Neuz

Gebruiker
Lid geworden
21 aug 2012
Berichten
147
Beste allemaal,

Ik heb al een tijdje een mail formulier draaien lokaal op mijn pc. Deze werkt goed.
Nu wil ik deze verder gaan inzetten binnen het intranet van het werk.

Hiervoor wil ik het script aanpassen.

Graag zou ik zien dat er een aantal vragen pas tevoorschijn komen na het antwoorden
op de vorige vraag.
Bijvoorbeeld:
Vraag 1 opgemaakt als keuzelijst.
Indien er voor Antwoord A gekozen wordt dan vraag 2 tevoorschijn halen.
Indien er voor Antwoord B gekozen wordt dan vraag 3 tevoorschijn halen.
Enz.

Ook zou ik graag de geadresseerde willen laten verschillen aan de hand van de antwoorden.
Bijvoorbeeld:
Vraag 3 opgemaakt als keuzelijst.
Indien er voor Antwoord C gekozen wordt dan verzenden naar AntwoordC@testmail.nl
Indien er voor Antwoord D gekozen wordt dan verzenden naar AntwoordD@testmail.nl

Is dit mogelijk, zo ja zou iemand mij kunnen helpen om dit op te lossen.

Alvast bedankt.

Groet Neuz
 
Gebruik je php om de email te versturen, of javascript?

Voor het zichtbaar maken van elementen kan je het attribuut hidden gebruiken (en deze met javascript visible laten maken) of je kan ze met appendChild() toevoegen aan de pagina.
 
Beste Kvothe,

Ik gebruik op dit moment een html script gecombineerd met php.

Groet Neuz
 
Het lijkt me dat je in het PHP script het juiste e-mailadres moet kiezen en deze mbv een variabele doorgeeft aan het email gedeelte van het script.
 
Beste Kvothe,

Ik ben even verder gegaan met mijn script. Ik begrijp dat ik het juiste mail adres moet kiezen doormiddel van een keuzelijst.
Dit is echter nog een probleem om dit juist weg te scripten.

Wel ben ik verder gekomen met het zichtbaar en onzichbaar maken van de vragen. Er zit alleen nog 1 probleempje in dat als ik
antwoord 2 kies de vragen 2 en 3 zichtbaar heb. Graag zil ik alleen vraag 2 zichtbaar hebben.

Zou je me hiermee kunnen helpen?

Dit is de code zoals ik deze nu gebruik.
HTML:
<html>
<head>
<title>Dienstruiling</title>
<script>
function ShowMenu(num, menu, max)
        {
                //starting at one, loop through until the number chosen by the user
                for(i = 1; i <= num; i++){
                        //add number onto end of menu
                        var menu2 = menu + i;
                        //change visibility to block, or 'visible'
                        document.getElementById(menu2).style.display = 'block';
                }
                //make a number one more than the number inputed
                var num2 = num;
                num2++;
                //hide it if the viewer selects a number lower
                //this will hide every number between the selected number and the maximum
                //ex.  if 3 is selected, hide the <div> cells for 4, 5, and 6
                //loop until max is reached
                while(num2 <= max){
                        var menu3 = menu + num2;
                        //hide 
                        document.getElementById(menu3).style.display = 'none';
                        //add one to loop
                        num2=num2+1;
                }
        }
</script>
</head>

<body>
<h3>Dienstruiling</h3>
<form action="processorder.php" method="post">
Vraag 1

<select id='functie' onChange="javascript: ShowMenu(document.getElementById('functie').value,'', 2);">
	<option value='0' Selected></option>
	<option value='1'>antwoord 1.1</option>
        <option value='2'>antwoord 1.2</option>
</select>


<div id='1' style="display: none;">
Vraag 2
	<Select id='team' onChange="javascript: ShowMenu(document.getElementById('team').value,'team', 6);">
		<Option value='0'></option>
		<Option value='1'>antwoord 2.1</option>
		<Option value='2'>antwoord 2.2</option>
		<Option value='3'>antwoord 2.3</option>
		<Option value='4'>antwoord 2.4</option>
		<Option value='5'>antwoord 2.5</option>
		<Option value='6'>antwoord 2.6</option>
	</select>
</div>

<div id='2' style="display: none;">
Vraag 3
	<Select id='afdeling' onChange="javascript: ShowMenu(document.getElementById('afdeling').value,'afdeling', 6);">
		<Option value='0' selected></option>
		<Optgroup label="Groep 1">
			<Option value='1'>antwoord 3.1</option>
			<Option value='2'>antwoord 3.2</option>
			<Option value='3'>antwoord 3.3</option>
			<Option value='4'>antwoord 3.4</option>
		</Optgroup>
		<Optgroup label="Groep 2">
			<Option value='5'>antwoord 3.5</option>
			<Option value='6'>antwoord 3.6</option>
			<Option value='6'>antwoord 3.7</option>
		</Optgroup>
	</select>
</div>

<br>
<br>
<input type="submit" value="Next Step">
</form>

</body>
</html>

Alvast bedankt voor de moeite.

Groet Neuz
 
Laatst bewerkt:
Je voert bij getElementById() een nummer in als argument terwijl het id een string is.

Ik zou het zelf ook nooit zo moeilijk doen met loops enzo.
 
Beste Kvothe,

Ik heb deze code op internet gevonden. Hierna heb ik een klein gedeelte aangepast. Ik ben namelijk
nog niet heel erg thuis in javascript.

Zou ik zo vrij mogen zijn om je te vragen om een klein voorzetje.

Groet Neuz
 
Hey allemaal,

Ik heb de mogelijkheden die mij zijn gegeven geprobeerd echter alle zonder het gewenste resultaat.
Ik heb inmiddels wel een ander script geschreven waardoor het allemaal misschien wat makkelijker wordt.

Hierbij de code:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<input type="button" value="Ga naar vraag 1" onclick="toggle_visibility('Vraag 1')"/> 
	<!-- eerst op klikken voordat je naar vraag 1 kan -->

<div id="Vraag 1" hidden>
Vraag 1
<select id='Vraag 1'>
	<option value="" selected="selected"></option>
	<option value='Antwoord 1.1' onclick="if(this.selected){toggle_visibility('Antwoord 1.1')}">Antwoord 1.1</option> 
		<!-- indien geselecteerd dan vraag 2 (vraag 3 verbergen) -->
	
	<option value='Antwoord 1.2' onclick="if(this.selected){toggle_visibility('Antwoord 1.2')}">Antwoord 1.2</option>
		<!-- indien geselecteerd dan vraag 3 (vraag 2 verbergen) -->
</select>
</div>

<div id="Antwoord 1.1" hidden>
Vraag 2
<select id='Vraag 2'>
	<option value="" selected="selected"></option>
	<option value="Antwoord 2.1" onclick="if(this.selected){toggle_visibility('Antwoord 2.1')}">Antwoord 2.1</option>
	<option value="Antwoord 2.2" onclick="if(this.selected){toggle_visibility('Antwoord 2.2')}">Antwoord 2.2</option>
	<option value="Antwoord 2.3" onclick="if(this.selected){toggle_visibility('Antwoord 2.3')}">Antwoord 2.3</option>
	<option value="Antwoord 2.4" onclick="if(this.selected){toggle_visibility('Antwoord 2.4')}">Antwoord 2.4</option>
	<option value="Antwoord 2.5" onclick="if(this.selected){toggle_visibility('Antwoord 2.5')}">Antwoord 2.5</option>
	<option value="Antwoord 2.6" onclick="if(this.selected){toggle_visibility('Antwoord 2.6')}">Antwoord 2.6</option>
		<!-- Met deze vraag gebeurd nu nog niets maar dit moet later wel gaan gebeuren -->
</select>
</div>

<div id="Antwoord 1.2" hidden>
Vraag 3
<select id='Vraag 3'>
	<option value="" selected="selected"></option>
	<Optgroup label="Groep 1">
	<option value="Antwoord 3.1" onclick="if(this.selected){toggle_visibility('Antwoord 3.1')}">Antwoord 3.1</option>
	<option value="Antwoord 3.2" onclick="if(this.selected){toggle_visibility('Antwoord 3.2')}">Antwoord 3.2</option>
	<option value="Antwoord 3.3" onclick="if(this.selected){toggle_visibility('Antwoord 3.3')}">Antwoord 3.3</option>
	<option value="Antwoord 3.4" onclick="if(this.selected){toggle_visibility('Antwoord 3.4')}">Antwoord 3.4</option>
	</Optgroup>
	<Optgroup label="Groep 2">
	<option value="Antwoord 3.5" onclick="if(this.selected){toggle_visibility('Antwoord 3.5')}">Antwoord 3.5</option>
	<option value="Antwoord 3.6" onclick="if(this.selected){toggle_visibility('Antwoord 3.6')}">Antwoord 3.6</option>
	<option value="Antwoord 3.7" onclick="if(this.selected){toggle_visibility('Antwoord 3.7')}">Antwoord 3.7</option>
	</Optgroup>
		<!-- Met deze vraag gebeurd nu nog niets maar dit moet later wel gaan gebeuren -->
</select>
</div>

<script>
      function toggle_visibility(id) {
      document.getElementById(id).style.display = 'block';
    }
    
</script>
</body>
</html>

Ik zou graag willen dat als ik bij vraag 1 voor antwoord 1.1 kies dat de pagina direct vraag 2 weergeeft.
Maar als ik mezelf bedenk en toch voor antwoord 1.2 kies dan moet vraag 2 verdwijnen en moet vraag 3
weergegeven worden.

Zouden jullie me kunnen helpen met dit probleem.

Alvast bedankt.

Groet Neuz
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan