2009-12-29 9 views
-2

J'utilise FrameSets pour diviser l'écran en deux volets. Le volet de gauche affiche les liens alors que le volet de droite affiche les pages réelles. Je veux savoir comment gérer le problème quand un formulaire d'entrée est ouvert dans le volet de droite et soumis. Lorsque je soumets un formulaire, l'action est transmise à un autre fichier .php, qui enregistre les enregistrements dans la base de données MySQL et doit retourner au même formulaire d'entrée dans le volet de droite. Le problème est qu'après avoir sauvegardé, il vide l'écran et je crains que s'il revient, il pourrait afficher le formulaire d'entrée sur l'ensemble de l'écran au lieu du volet de droite.Comment gérer le jeu de cadres, POST et Re-Direct

S'il vous plaît aidez-moi sur la façon de gérer cela.

Répondre

2

Dans votre volet de droite, vous avez un formulaire qui envoie une requête POST à ​​un fichier php. Cette requête a une cible dès le début, l'endroit où le navigateur va collecter la réponse du serveur. Si cette cible est votre volet droit, la réponse du fichier php (le nouveau formulaire) s'affichera dans le volet de droite.

<frameset> 
    <frame id="leftpane" src="leftpane.php"></frame> 
    <frame id="rightpane" src="rightpane.php"></form> 
</frame> 

rightpane.php

... 
<form action="rightpane.php" target="rightpane" method="post"> 
... 
</form> 
... 
+0

Ai-je besoin d'utiliser "header" pour rediriger à partir du deuxième fichier? – RKh

+0

Ok, j'ai compris. En dehors de ce que vous avez suggéré, j'ai ajouté cette ligne en haut du fichier .php: RKh

+0

En ce qui concerne une redirection HTTP-Header, il doesn Ne travaille pas comme ça. Redirect indique au navigateur de demander une autre URL à la réception (dans le même cadre). Ce que vous voulez faire est de dire au navigateur de mettre le document reçu dans une autre image (ce qui n'est pas possible facilement). – Alsciende

0

Je ne suis pas tout à fait clair au sujet de votre situation, mais quelques conseils:

  • Vous pouvez actualiser un cadre voisin soumettre après par Javascript si elles proviennent du même domaine.
  • Vous pouvez soumettre à partir d'un cadre dans toute la fenêtre (permettant une actualisation complète) en utilisant target="_top". Je pense que vous pouvez soumettre dans une trame voisine en utilisant target="framename".
+0

En fait, je veux diriger le contrôle au formulaire d'inscription et que trop dans le volet droit. – RKh

+0

Si je me souviens bien (cela fait longtemps que j'ai travaillé avec des cadres), vous devriez pouvoir le faire en définissant la cible de votre formulaire sur le nom du volet droit, puis en redirigeant vers le formulaire dans votre script. –

+0

Mais je ne suis pas en train de suivre comment utiliser _target depuis un autre fichier. Je clarifie plus loin: (1) Le formulaire est soumis. (2) Un fichier .php traite les entrées. (3) rediriger vers le formulaire dans le volet de droite. Maintenant, comment rediriger pour ouvrir le même formulaire dans le volet de droite. Actuellement, il s'ouvre sur toute la page. – RKh

0

Vous pouvez spécifier l'attribut "target" pour votre formulaire. Il contrôle, dans quel cadre votre sortie sera affichée après le traitement de la soumission du formulaire.

Mais je recommande fortement de ne pas utiliser les cadres! Il est préférable de structurer votre page avec les éléments HTML corrects et de tout mettre en forme avec CSS.

+0

Actuellement, je ne peux pas défaire mon approche. Comment utiliser _target de l'autre fichier pour ouvrir le même formulaire dans le volet de droite? – RKh

Questions connexes