2009-08-28 5 views
1

Pourriez-vous s'il vous plaît aviser comment inclure un fichier php pour mettre à jour le contenu dans un div sur soumettre un formulaire Ajax réussi?Comment faire pour mettre à jour DIV avec .replace lors de la soumission du formulaire

Cela fonctionne:

jQuery(form).ajaxSubmit({ 
    success: function() { 
$('#ajaxRenew').load('script.php'); 
} 
}); 

mais mon script.php nécessite des en-têtes, etc., à partir de la page, il sera inclus dans (il fonctionne bien comme « Inclure » normalement), et .load qu'il ne soit pas eux, produisant des avertissements. J'ai lu que Ajax doit être utilisé dans ce cas (.replace?), Mais j'essaie toute la journée et je n'arrive pas à le faire fonctionner.

je besoin de quelque chose comme ceci:

jQuery(form).ajaxSubmit({ 
    success: function() { 
$('#ajaxRenew').replace('script.php'); 
} 
}); 

J'espère que vous comprendrez ma question. Je vous remercie!

+1

Lorsque vous dites 'script.php requiert des en-têtes, etc.', que voulez-vous dire? Quel genre d'en-têtes, etc? –

+0

Je suppose que ceux-ci sont appelés "variable scope". –

Répondre

1

Pas possible, je ne pense pas. Dès que le contexte php se termine (c'est-à-dire lorsque le script est exécuté la première fois), vous perdez les inclus. Vous devriez être en mesure de faire toutes les inclusions pertinentes dans votre script.php, et passer tous les paramètres qui doivent passer par POST ou GET via ajaxSubmit.

+0

Merci beaucoup! –

+0

Josh a raison. Si, par exemple, vous avez besoin des informations de connexion à votre base de données sur votre page script.php, vous devrez l'inclure sur cette page. – superUntitled

0

Transmettez les variables nécessaires à la fonction Ajax/load. Cela va créer une requête Ajax POST avec les données spécifiées dans le 2ème argument.

Par exemple,

<?php 
//index.php 
$variable = time(); 
?> 
<div id="myDiv"> 
</div> 
<script type="text/javascript"> 
    $('#myDiv').load('responder.php', {"hello" : <?= $variable ?>}); 
</script> 
?> 



<?php 
//responder.php 
print_r($_POST); 
?> 
+0

Merci beaucoup! –

0

Vous pouvez laisser votre script retourner le contenu de la div. Peut-être que ce n'est pas la meilleure pratique, mais vous pouvez faire quelque chose comme ça avec JQuery.

$('#formId').submit(function() 
{ 
    $.post('fle.php', {variable1: 'value'}, function (data) 
    { 
     /* Check data contents, maybe it's returned as json or what ever */ 
     $('#divId').html(data); 
    }, 'json'); /* Skip the last option if you're not using json */ 
}); 

Si vous devez inclure un fichier entier, je pense que .load est la seule option.

Questions connexes