Naar andere Pagina via Button + Alle ingevoerde velden mee.

Status
Niet open voor verdere reacties.

Royzilla

Gebruiker
Lid geworden
10 apr 2014
Berichten
187
Hee goedemiddag,

Als alle invoer velden ingevuld zijn ( en alle checkboxes en radio buttons) wil ik dat er geklikt wordt op een button die je doorverwijst naar een andere pagina. Maar Dan moet alles wat je heb ingevoerd op die pagina tevoorschijn komen.

Ook wil ik graag dat de button niet werkt als er sommige velden nog niet zijn ingevuld, zou iemand me hier mee kunnen helpen?

Dankjewel.
 
Stel je hebt:

HTML:
<html>
<body>

<form action="site2.php" method="post">
Name: <input type="text" name="naam">
Email: <input type="text" name="email">
<input type="submit">
</form>

</body>
</html>

Dan kan je met de php functie _POST de waarde ophalen op een andere pagina, dat gaat als volgt:
PHP:
<?php echo $_POST["naam"]; ?>


site2.php zou er dan zo uit zien:

PHP:
<html>
 <body>

Hallo <?php echo $_POST["naam"]; ?>!<br>
Het ingevoerde mailadres is <?php echo $_POST["email"]; ?>.

 </body>
 </html>

Dit kunt u met zoveel velden doen als u wilt.

De knop enablen / disablen kan wel, maar het kan veel gemakkelijker!
Laat me het even uitleggen.

Eerst veranderen we ons form even:
HTML:
<form method="post" name = "myForm" onsubmit="return validate()" action="site2.php">
we voegen dus een naam toe aan het form (name = "myForm"), en een "onsubmit" wat betekend dat we iets uitvoeren zodra de gebruiker op de knop drukt.

In javascript moeten we dan vervolgens de variabelen uit het forum halen, dat kan op de volgende manier:
[JS]var naam=document.forms["myForm"]["naam"].value;[/JS]

Daarna moeten we met javascript bekijken of de nieuwe variabele niet leeg is. Dat kan op de volgende manier:
[JS]if (naam==""){return false;}[/JS]
Als er dus niets in het veld "naam" staat dan geeft die methode "false" terug en zal het form niet gesubmit worden.
Als we daar dan ook nog een mooie waarschuwing aan vast plakken met javascript dan ziet onze volledige javascript er als volgt uit:

[JS]function validate(){
var naam=document.forms["myForm"]["naam"].value;
if (naam==""){
alert("Niet alle info is ingevuld");
return false;
}
}[/JS]

Elke keer als we nu dus validate aaanroepen (dat gebeurde bij het onsubmit event van het form) wordt er eerst gekeken of wel alles is ingevuld.

Dan komen we dus uiteindelijk op de volgende 2 pagina's uit

site1.php:

HTML:
<!DOCTYPE html>
<html>
<head>
<script>
function validate(){
	var naam=document.forms["myForm"]["naam"].value;
	var email=document.forms["myForm"]["email"].value;
	if (naam=="" || email==""){
	alert("Niet alle info is ingevuld");
	return false;
	}
}
</script>
</head>

<body>
	<form method="post" name = "myForm" onsubmit="return validate()" action="site2.php">
		Name: <input type="text" name="naam"> <br />
		Email: <input type="text" name="email">
		<input type="submit">
	</form>
</body>

</html>



en site2.php:

HTML:
<html>
 <body>

Hallo <?php echo $_POST["naam"]; ?>!<br>
Het ingevoerde mailadres is <?php echo $_POST["email"]; ?>.

 </body>
 </html>

Ik zal ook even de bestanden als een zip bijvoegen: Bekijk bijlage www.zip
Een live werkende versie: http://server.mi-soft.nl/helpmij/Royzilla/
 
Laatst bewerkt:
Dankje voor je reactie maar dit gaat dus bij mij niet werken.
Ik heb in de form dit staan:
PHP:
<form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="selectForm" onSubmit="return (validate());">

Omdat als er een land geselecteerd wordt uit een selectbox, moet de pagina opnieuw geladen worden zodat de klanten geselecteerd kunnen worden uit dat land. Hierna reload weer de pagina zodat de servers van de klanten geselecteerd kunnen worden

Dus hoe zou ik het dan moeten doen?
 
De fout zit hem in:

PHP:
action="<?php echo $_SERVER['PHP_SELF']; ?>"

Dat is niet doorsturen naar een andere pagina, maar naar dezelfde pagina.
 
Ja dat snap ik, maar die moet ik gebruiken voor me select vensters.
want het land dat geselecteerd wordt wordt op die manier opgeslagen en onthouden in de browser, door dat dit gebeurd kan ik een klantnaam selecteren uit dat geselecteerde land en zo vervolgend op de zelfde manier de server namen van de klant. Dus als je hier dan een andere oplossing voor weet kan ik die toepassen.

alvast bedankt.
 
Dus eigenlijk totaal niet wat u in eerste instantie vroeg :confused:


Begrijp ik het goed als u het volgende wilt:

Een selectbox om een land te kiezen en op basis van de selectie die daar gemaakt wordt klantnamen uit een database halen?
 
Nee dat heb ik al, sorry voor de onduidelijkheid, maar doordat ik dit al heb wordt het verwijzen via een button moeilijker naar een andere pagina en daar de waarde ophalen.
 
Misschien moet u even uitleggen wat er nu precies moet gebeuren, want tot nu toe hebben we alleen de eerste vraag nog en dat was:

Hee goedemiddag,

Als alle invoer velden ingevuld zijn ( en alle checkboxes en radio buttons) wil ik dat er geklikt wordt op een button die je doorverwijst naar een andere pagina. Maar Dan moet alles wat je heb ingevoerd op die pagina tevoorschijn komen.

Ook wil ik graag dat de button niet werkt als er sommige velden nog niet zijn ingevuld, zou iemand me hier mee kunnen helpen?

Dankjewel.
 
Ik heb al een werkende formulier, maar als je in de form een land selecteerd in een selectbox dan wordt de pagina opnieuw geladen zodat er onthouden wordt welk land geselecteerd is.
Aan de hand van het geselecteerde land kan er in de volgende selectbox een klant naam geselecteerd worden uit dat land.

De form heeft als actie de pagina opnieuw aanroepen en dat gebeurd dus als er iets geselecteerd wordt uit deze 2 selectboxen.

Nu moet de button onderaan de pagina in een andere form en kunnen checken of alles is ingevuld zodra dat gebeurd is, moet deze button gelinkt worden naar een andere pagina.

Het bovenste deel werkt gewoon, alleen moet er nu dus een andere form bij omdat anders de button niet werkt.
 
Ik heb al een werkende formulier, maar als je in de form een land selecteerd in een selectbox dan wordt de pagina opnieuw geladen zodat er onthouden wordt welk land geselecteerd is.
Aan de hand van het geselecteerde land kan er in de volgende selectbox een klant naam geselecteerd worden uit dat land.

De form heeft als actie de pagina opnieuw aanroepen en dat gebeurd dus als er iets geselecteerd wordt uit deze 2 selectboxen.

Nu moet de button onderaan de pagina in een andere form en kunnen checken of alles is ingevuld zodra dat gebeurd is, moet deze button gelinkt worden naar een andere pagina.

Het bovenste deel werkt gewoon, alleen moet er nu dus een andere form bij omdat anders de button niet werkt.

Dus zodra de button de eerste keer is gebruikt, wilt u de functie van de button veranderen?

Als u dan de redirect even aanpast naar:

PHP:
<?php echo $_SERVER['PHP_SELF']. '?buttonpressed=yes'; ?>

En dan in de code van het form hetvolgende maakt:

PHP:
if($_GET["buttonpressed"]) == "yes"){

<form method="get" action="page2.php" name="selectForm" onSubmit="return (validate());">

}else{ // deze redirect naar de pagina zelf

<form method="get" action="<?php echo $_SERVER['PHP_SELF']. '?buttonpressed=yes'; ?>" name="selectForm" onSubmit="return (validate());">

}

Dit kijkt of de meegegeven variabele "buttonpressed" YES is, als dat niet zo is verwijst de button naar de pagina zelf.
Als dat wel is (en de button dus al een keer gedrukt is) dan verwijst hij in dit voorbeeld naar page2.php
 
Dankjewel!

Zou je me dan ook kunnen helpen hoe ik de informatie met dit:

ik heb 2 pagina's, pagina1.php is de pagina waar alle velden ingevuld worden en de pagina waar de button dus ook staat.

Op pagina2.php wil ik de ingevulde informatie van pagina 1 ophalen zodat de klant kan zien wat die heeft ingevuld en een button die ervoor zorgt dat de informatie gemaild wordt. Dat mail systeem werkt al helemaal.

Alvast bedankt.
 
Als je kijkt naar mijn 2de antwoord dan ziet u dat dit precies is wat u zoekt, u dient alleen de e-mailknop nog even toe te voegen op page2.php :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan