2012-09-12 4 views
0

Je n'ai plus d'idées pour cette tâche pour une classe. J'ai dû créer deux formulaires PHP en utilisant PHP_SELF et je suis supposé utiliser javascript ou jquery pour basculer entre les formulaires. J'ai essayé d'utiliserjquery bascule entre les formulaires

<a href="#" onclick="document.getElementById('form1').style.display = 'block'; document.getElementById('form2').style.display = 'hidden';">Form 1</a> 
<a href="#" onclick="document.getElementById('form1').style.display = 'hidden'; document.getElementById('form2').style.display = 'block';">Form 2</a> 

Cela fonctionne sur la modification des formes, mais quand je clique sur le bouton soumettre le formulaire, il retourne à former 1 et ne présente pas les résultats. La chose que je dois comprendre est après que le formulaire a été soumis en utilisant PHP_SELF, comment l'obtenir pour rester sur ce formulaire pour montrer les résultats générés par le serveur.

Répondre

0

Vous pouvez ajouter un champ caché à la forme appelée formId et PHP est l'écho de retour, de sorte que vous savez de Javascript résultats de ce qui forme que vous lisez:

<?php 
    ... 
    if (isset($_POST['formId'])) 
    { 
     $show = 'form1' == $_POST['formId'] ? 'form1' : 'form2'; 
     $hide = 'form1' == $_POST['formId'] ? 'form2' : 'form1'; 
     // This PHP must be inside the Javascript section of the page, at end. 
     print <<<SETVISIBILITY 

\$('#$show').style.display = 'block'; // Should be unnecessary (?) 
\$('#$hide').style.display = 'hidden'; 

SETVISIBILITY; 
    } 
?> 

Ou vous pouvez faire SOUMETTRE et résultat afficher tout dans jQuery, de sorte que vous n'avez pas besoin de recharger la page perdre la visibilité de votre formulaire.

+0

J'aime l'idée formulaire d'identification, je vais essayer. La tâche suivante est d'utiliser tous les Jquery, mais pour cela, je dois utiliser PHP pour les formulaires et Jquery pour les basculer. Ne demandez pas pourquoi, parce que je pose la même question! –

+0

Eh bien, alors ajoutez simplement if (isset ($ _ POST ['formID'])) ... et quand vous rechargez la page après le POST, vous ajoutez (à partir de PHP) une commande jQuery pour définir correctement la visibilité. – LSerni

+0

ce qui serait un exemple de cela? Mes deux formulaires ont des champs masqués avec le nom formID et un ID de formID avec des valeurs différentes. Au bas de ma page je mets if (isset ($ _ POST ['formID'])); Comment puis-je obtenir jquery pour savoir quel ID est utilisé? –

1

Vous aurez besoin d'utiliser quelque chose comme ça

if($_POST){ 
//display success message here 
}else{ 
//display form here 
}