2009-04-28 76 views
2

我需要获取用户在JSP文本框中输入的值。我使用JavaScript来获取值,但后来我需要在页面之后的JavaScript之外访问相同的变量。从JSP上的文本框获取用户输入

这是我有:

<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> 

文本框:

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

但我需要访问输入的字符串在这个“政策”文本框后面的scriplet调用内的功能我的会话bean。有没有什么办法可以在JavaScript之外传递这个变量?还是有另一种方法来做到这一点?

谢谢!

回答

1

JavaScript执行发生在客户端并且Scriptlet在服务器端执行。你正试图将两者结合起来。

您应该通过传递一个参数来将表单提交到同一页面,该参数将在文本框中输入值。你的scriptlet应该检查参数是否存在。第一次来到这个jsp时,参数将不会出现,只有当用户在文本框中输入内容时才可用。

可能不是最好的解决方案,因为我不知道整个上下文。

0

我不确定你的jsp的生命周期还没有完成。到javascript运行的时候,所有脚本都被评估过了。

通过这个我的意思是,一个JSP呈现,HTML和JavaScript发射到浏览器的响应,并且没有更多的服务器来解释JSP。

所以,你应该考虑你的问题,我该如何与服务器进行通信,这是用户操作的结果?

可能通过在服务器上发布操作表单。

0

如果您问的是如何在java会话bean中获得文本输入值,那么它与JavaScript代码无关。

会话bean是服务器端代码。要将输入值传递给会话bean,您需要根据您使用的Web框架更改服务器端代码,servlet,strut action,webwork action。