2009-04-28 9 views
2

Je dois obtenir la valeur qu'un utilisateur a saisie dans une zone de texte sur une page JSP. J'ai utilisé JavaScript pour obtenir la valeur, mais j'ai besoin d'accéder à cette même variable en dehors du JavaScript plus tard dans la page.Obtenir l'entrée de l'utilisateur à partir de la zone de texte sur JSP

Voici ce que j'ai:

<script type="text/javascript"> 

    var sp; 

function setPolicy(){ 

sp = document.getElementById('policy').value; 

if(sp != "") 
    alert("You entered: " + sp) 

else 
    alert("Would you please enter some text?") 
} 

</script> 

la zone de texte:

input type="text" id='policy' size="15" tabindex = "1" onblur="setPolicy()" 

Mais je dois accéder à la chaîne saisie dans ce champ « politique » plus tard dans un scriplet pour appeler une fonction au sein de mon bean session. Est-il possible de transmettre cette variable en dehors du JavaScript? Ou est-ce qu'il y a un autre moyen de le faire?

Merci!

Répondre

1

L'exécution de JavaScript se passe du côté client et Scriptlet s'exécute côté serveur. Vous essayez de combiner les deux.

Vous devez soumettre le formulaire à la même page en passant un paramètre qui aura la valeur entrée dans la zone de texte. Votre scriptlet devrait vérifier si le param est présent ou non. La première fois que vous entrez sur ce jsp, le param ne sera pas présent, il ne sera disponible que lorsque l'utilisateur saisira quelque chose dans la zone de texte. Peut ne pas être la meilleure solution car je ne connais pas le contexte dans son ensemble.

0

Je ne suis pas sûr que vous ayez encore le cycle de vie d'une jsp vers le bas. Au moment où le javascript est en cours d'exécution, tous les scriptlets ont été évalués. Par ce que je veux dire, un JSP est rendu, html et javascript sont émis sur la réponse au navigateur, et il n'y a plus de serveur pour interpréter le JSP. Donc, vous devriez penser à votre problème comme comment communiquer de nouveau au serveur, le résultat de l'action de l'utilisateur? Probablement en postant un formulaire à une action sur le serveur.

0

Si vous demandez comment obtenir la valeur d'entrée de texte dans un bean session java, cela n'a rien à voir avec votre code javascript.

Le bean session est un code côté serveur. Pour transmettre la valeur d'entrée à votre bean session, vous devez modifier le code côté serveur, une servlet, une action strut, une action Webwork en fonction du framework Web que vous utilisez.

Questions connexes