hey allemaal

nog is een javascript vraagje, (miss een idee om naast de php.hulp een css.hulp ook een js.hulp te gaan maken)

maar nu ff mijn vraag:

ik heb nu dit:


<script language="javascript">
function Post(actie) {
http.open('post', actie+'.php');
http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http.send('<?php
if(isset($_POST['submit']))
{
	foreach ($_POST as $key => $value)
	{
	   echo addslashes($key) . '=' .addslashes($value). ';';
	}
}
?>');
http.onreadystatechange = handleResponse;
}
</script>


maar dat gaat niet werken zo, is er misschien een mogelijk om een foreach met javascript te doen over alle postwaarden?

Greetz
Ik dacht aan zoiets, maar dat werkt dus niet:


<?php

<script language="javascript">
function Post(actie) 
{
	http.open('post', actie+'.php');
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	tempvar = '';
	
	for ( i=0; i<document.forms[0].elements.length; i++) {  
		tempvar = tempvar + document.form[0].elements[i].name + '=' + document.form[0].elements[i].value + ';';
	}
	
	http.send(tempvar);	
	http.onreadystatechange = handleResponse;
}
</script> 

?>

die php tags staan er even omheen voor kleurtjes
even uitleg ;-)

dit werkt:

<?
function Post(actie) {
http.open('post', actie+'.php');
http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http.send('test1=test;');
http.onreadystatechange = handleResponse;
}
?>

Bij http.send('test1=test;'); staat test1 voor het inputvaknaam en test staat voor de waarde it dat vak.

Probleem is nu dat ik dit allemaal handmatig op moet geven, maar eigenlijk moet javascript (of php) zelf checken welke waardes er zijn...
Als de velden statisch zijn kun je ze natuurlijk ook even handmatig invullen. Ik weet niet om hoeveel velden het gaat.. ? Ik ben verder niet zo'n Javascriptexpert dus ik laat het verder aan anderen over.
nope, zijn ze niet, that's the problem ;-)
het moet dus met javascrip gebeuren, I guess

maar ik zou niet weten hoe, iemand een idee?
Hele wilde gok, je moet je 'formelement' (element waar de inputs instaan) even een id meegeven, in mijn geval 'form'.

Hij werkt trouwens alleen met simpele tekstvelden. niet met textarea of select, noch met checkboxen of radio-buttons. Die mag je er in dat geval zelf inbouwen.

En is volgens mij trouwens een makkelijkere manier, ik weet hem alleen niet. Moet je even zoeken in de prototype.js (zie google)


var query = '';
var formelements = document.getElementById('form').getElementsByTagName('input');
for(i = 0; i < formelements.length; i++) {
   var name = formelements.item(i).getAttribute('name');
   var value = formelements.item(i).hasAttribute('value') ? formelements.item(i).getAttribute('value') : '';
   query += '&' + name + '=' + escape(value);
}
alert(query);
maar het id is overal anders, aangezien er de fastmailer van webmakerij achter zit

Ja, het is een heel karwei dit :-p

of heb je nog andere oplossingen die ook werken, maar niet zo ingewikkeld zijn.

stel ik zet form-action.php gewoon in form.php

kan ik het formulier dan gewoon index.php?page=form meegeven???

en dan verder niks meer met javascript...

Reageren