Formulier, toekennen waarde met javascript

Status
Niet open voor verdere reacties.

mrniceguy2002

Gebruiker
Lid geworden
12 apr 2007
Berichten
173
Hey,

ik ben sinds kort begonnen met javascript en nou is het me gelukt om een aantal checks uit te voeren op mijn formulier. Deze kan ik dan vervolgens via javascript versturen en dat werkt. Dat is het probleem dus niet.

Nu heeft mijn formulier twee mogelijkheden tot het versturen van gegevens, namelijk Opslaan en Toevoegen. Zonder javascript zou dit gewoon via de $_POST waarde worden meegegeven met de button. Zodra ik hier javascript aan hang, doet hij dat niet meer.

Nu zou ik met javascript de waarde van deze variabele (ondergebracht in een hidden textfield) willen opslaan. De variabele is binnen PHP en javascript bekend, dus daar zou de fout niet kunnen liggen.

Het kan zijn dat mijn manier volkomen onmogelijk is, dan zou ik dat ook graag willen weten =).
Alvast bedankt voor de hulp.


relevante code:
PHP:
function check_persgeg(){
	var l = document.kandidaat;
	var alert_m = '';
	
	if(l.naam.value == ''){ alert_m += 'naam | '; }
	if(l.voorletter.value == '' || l.voornaam.value == ''){ alert_m += 'voornaam/letter | '; }
	if(l.tel_nr.value > 0 && l.tel_nr.value.length < 10){ alert_m += 'telefoonnummer | '; }
	if(l.mob_nr.value > 0 && l.mob_nr.value.length < 10){ alert_m += 'mobiele nummer | '; }
	if(l.werk_nr.value > 0 && l.werk_nr.value.length < 10){ alert_m += 'werknummer | '; }
	if(l.email.value == ''){ alert_m += 'emailadres | '; }
	
	if(alert_m.length > 0){ alert_m = 'Let op! mogelijke fout in: ' + alert_m; }
	l.active_tab.value = l.active_tab.value;
	l.alert_m.value = alert_m;
	var edit = l.edit.value;
	edit = 'Opslaan';
	l.edit.value = edit.value;
	l.submit();
}

PHP:
	<?php 
		echo "<form method='post' name='kandidaat' action='"; 
			if($edit){ echo "opslaan.php"; 
			} else { echo "kandidaat.php?active_tab=".$_GET['active_tab']."&kcode=$kcode"; }
		echo "'>\n<input type='hidden' name='active_tab' value='".$_GET['active_tab']."'>
			<input type='hidden' name='kcode' value='$kcode'>";
			if($edit && ($atab == 'persgeg' || $atab == 'kennis' || $atab == 'ervaring' || $atab == 'wensen')){
				echo "\n<input type='button' name='edit' class='button' value='Opslaan' onClick='check_".$_GET['active_tab']."()'>";
				echo "<input type='hidden' name='edit' value=''>";
			} else if($atab == 'persgeg' || $atab == 'kennis' || $atab == 'ervaring' || $atab == 'wensen'){
				echo "\n<input type='submit' name='edit' class='button' value='Wijzig'>";
			}
		if(($_GET['active_tab'] == 'persgeg') || ($_GET['active_tab'] == 'kennis')	|| ($_GET['active_tab'] == 'ervaring') || ($_GET['active_tab'] == 'wensen')){
			echo '<input type="button" name="afdrukken" value="Afdrukken" class="button" onClick="window.location=\'../overige/afdrukken.php?afdruk='.$_GET['kcode'].'&type=i\'">';
		}
		echo "<input type='hidden' name='alert_m' value=''>";
		echo "<br><br>\n";
 
Probeer dit eens:
PHP:
function check_persgeg() { 
 var l = document.kandidaat, alert_m = '';
 if (l.naam.value == '') alert_m += 'naam | '; 
 if (l.voorletter.value == '' || l.voornaam.value == '') alert_m += 'voornaam/letter | ';
 if (l.tel_nr.value != '' && l.tel_nr.value.length < 10) alert_m += 'telefoonnummer | ';
 if (l.mob_nr.value != '' && l.mob_nr.value.length < 10) alert_m += 'mobiele nummer | ';
 if (l.werk_nr.value != '' && l.werk_nr.value.length < 10) alert_m += 'werknummer | ';
 if (l.email.value == '') alert_m += 'emailadres | ';
 if(alert_m.length > 0) alert_m = 'Let op! mogelijke fout in: ' + alert_m;
 l.alert_m.value = alert_m;
 l.edit.value = 'Opslaan';
 l.submit();
 };
Vr.Gr. Egel.
 
Hmm..

die optie had ik al eens gebruikt. Omdat die niet werkte, heb ik hem dus onderverdeeld in stappen.

Het probleem begint al, wanneer ik de waarde van edit uit het formulier wil opvragen. Hier geeft hij aan dat hij niet bestaat. (undefined)

mijn PHP code genereerd de volgende code voor HTML.
HTML:
	<form method='post' name='kandidaat' action='opslaan.php'>
<input type='hidden' name='active_tab' value='persgeg'>
			<input type='hidden' name='kcode' value='5117'>
<input type='button' name='edit' class='button' value='Opslaan' onClick='check_persgeg()'>
<input type='hidden' name='edit' value='a'>
<input type="button" name="afdrukken" value="Afdrukken" class="button" onClick="window.location='../overige/afdrukken.php?afdruk=5117&type=i'">
<input type='hidden' name='alert_m' value=''><br><br>
<table class='persoonsgegevens'>
    <tr>
        <th>Naam</th>

PHP:
function check_persgeg(){
	var l = document.kandidaat, alert_m = '';
	
	if(l.naam.value == ''){ alert_m += 'naam | '; }
	if(l.voorletter.value == '' || l.voornaam.value == ''){ alert_m += 'voornaam/letter | '; }
	if(l.tel_nr.value > 0 && l.tel_nr.value.length < 10){ alert_m += 'telefoonnummer | '; }
	if(l.mob_nr.value > 0 && l.mob_nr.value.length < 10){ alert_m += 'mobiele nummer | '; }
	if(l.werk_nr.value > 0 && l.werk_nr.value.length < 10){ alert_m += 'werknummer | '; }
	if(l.email.value == ''){ alert_m += 'emailadres | '; }
	
	if(alert_m.length > 0){ alert_m = 'Let op! mogelijke fout in: ' + alert_m; }

	l.alert_m.value = alert_m;
	var edit = l.edit.value;
	alert('l.edit.value: '+edit+' '+l.edit);
	edit = 'Opslaan';
	alert('edit; '+edit);
	l.edit.value = edit.value;
	alert('l.edit: '+l.edit);
	l.submit();
}

de twee keer dat ik l.edit.value opvraag, krijg ik de foutmelding
l.edit.value: undefined [object]

alert_m daarnaast werkt wel gewoon en komt door. (lijkt mij precies hetzelfde werken?)
 
Doe ik trouwens

l.edit.value = 'Opslaan';

dan kan ik deze waarde wel met alert in javascript opvragen, maar is hij deze alweer vergeten zodra ik het submit.
 
mijn PHP code genereerd de volgende code voor HTML.
<input type='button' name='edit' class='button' value='Opslaan' onClick='check_persgeg()'>
<input type='hidden' name='edit' value='a'>
Twee keer edit gaat fout, die vormen een array en zo krijg je l.edit[0] en l.edit[1] :)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan