2010-10-14 4 views
1

Je possède ce scénario Drupal de base et question:Drupal: envoyer la sortie à l'utilisateur dans le soumettre gestionnaire de formulaire, au lieu de rediriger

J'ai une forme qui accepte une entrée de l'utilisateur, et un soumettre gestionnaire qui doit traiter les données et montre le résultat à l'utilisateur. En d'autres termes, je n'écris rien dans la base de données ou ne mets les variables e etc., montre juste une sortie à l'utilisateur. Je me demandais comment faire, car un gestionnaire de soumission redirige le flux vers un autre élément de menu - dont les valeurs de formulaire ($ form_state) ne sont plus disponibles. Rediriger le formulaire vers lui-même n'est pas utile, parce que je reçois juste les entrées brutes affichées -not traité $ form_state.

Comment puis-je empêcher la redirection et juste afficher une sortie à l'utilisateur dans le gestionnaire de soumission?

Merci.

Répondre

2

Lorsque vous construisez votre formulaire que vous souhaitez définir redirect false:

$form['#redirect'] = FALSE; 

Il y a plus sur redirect ici: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#redirect

Si je comprends bien votre question est ce que vous sont après.

+0

J'ai essayé d'envoyer une sortie en définissant #redirect sur false, mais cela ne fonctionnait pas aussi bien. Après avoir lu la source de drupal, j'ai découvert que la définition de la valeur ci-dessus redirige uniquement le flux vers la page de formulaire avec les champs définis avec l'entrée de l'utilisateur. Toujours aux prises avec ce problème. – farzan

+1

Très bien. Votre meilleur pari est de créer la sortie dans la fonction de construction de formulaire. une belle façon de le faire est montré dans le premier commentaire ici: http://drupal.org/node/870120. J'espère que cela vous va – hookd

+0

Merci! Cela a fonctionné comme un charme. J'ai utilisé le $ form_state ['storage'] pour renvoyer le résultat à la fonction de formulaire et l'afficher là. – farzan

Questions connexes