Hallo,

Ik ben nu een tijdje bezig met een mail systeem. Nu wil ik gebruikers in een textarea zetten (dit zijn de gebruikers waar de mail naar toe gaat.) Dit gebeurd door middel van een formulier op dezelfde pagina als waarop ik de gegevens in vul voor in de mail. Met dit formulier post ik de geselecteerd gebruikers naar de textarea maar doordat ik post wordt de pagina natuurlijk weer herladen en zijn al mijn al ingevulde gegevens weg. Nu vroeg ik mij af hoe ik dit kan oplossen met behulp van JQuery of Ajax?

Groet,
Raymond

Je bedoelt dat er twee formulieren op één pagina staan en als je het ene formulier post, wil je de waardes bewaren in het andere formulier als daar iets in is ingevuld. Correct?

Zodra het formulier ge$_POST is dan kun je de toch gewoon de value van de textarea terug zetten met wat er voor de post in stond?

<?php
echo '<textarea name="gebruikers">' . (!empty($_POST['gebruikers']) ? htmlspecialchars($_POST['gebruikers']) : '') . '</textarea>';
?>

Een andere mogelijkheid is (zonder refresh) is een dmv een ajax request slechts één formulier te verwerken. Zie jQuery post.

Eventueel (beetje vies) kun je een iframe gebruiken.
Ja, dit is ongeveer wat ik bedoel kan je dan met JQuery zonder refresh de gegevens naar een textarea in een ander form sturen?
Ik heb het op de volgende manier opgelost:


<?php
<script type="text/javascript">
$(document).ready(function()
{
$("#selectUserForm").validate(
{
debug: false,
submitHandler: function(form)
{
$.post('process.php', $("#selectUserForm").serialize(), function(data)
{
$('textarea#c_email_to').html(data);
});
}
});
</script>
?>

Het kan ook met json dan werkt het op de volgende manier:


<?php
<script type="text/javascript">
jQuery('#firstForm').live('submit',function(event) {
$.ajax({
url: 'GetUserInfo.php', // script to return user info in json format
type: 'POST',
dataType: 'json',
data: $('#firstForm').serialize(),
success: function( data ) {
for(var id in data) {
jQuery('secondForm#' + id).val(data[id]); // loop json data to populate each field of second form
}
}
});
return false;
});
</script>
?>

het wordt dan een array zoals bijv:


<?php
$userInfo = array( 'FirstName' => 'abc', 'LastName' => 'xyz', 'DOB' => '01/01/2000');
?>

en echo deze Json array als volgt


<?php
echo json_encode( $userInfo );
?>

Reageren