Javascript 使用JS从textarea获取值,并在不重新加载页面的情况下将其传递给服务器(jsp)
我使用这段代码在onclick事件后通过调用两个函数的按钮向JSP页面显示一个TextAreaJavascript 使用JS从textarea获取值,并在不重新加载页面的情况下将其传递给服务器(jsp),javascript,html,jsp,Javascript,Html,Jsp,我使用这段代码在onclick事件后通过调用两个函数的按钮向JSP页面显示一个TextArea <textarea id="textarea"></textarea> <button style="float: right;" onclick="jQuery('#reDiv').load(' #reDiv'); doSth();">Get Text</button> 获取文本 职能1: <div id="reDiv"><%
<textarea id="textarea"></textarea>
<button style="float: right;" onclick="jQuery('#reDiv').load(' #reDiv'); doSth();">Get Text</button>
获取文本
职能1:
<div id="reDiv"><%=new java.util.Date().toString()%></div>
职能2:
<script>
function doSth() {
var text = $("#textarea").val(); //value of textarea
<%=text%> //error
}
</script>
函数doSth(){
var text=$(“#textarea”).val();//textarea的值
//错误
}
功能1工作正常
在函数2中,我试图将刚从TextArea获得的值传递到我的服务器,而无需重新加载页面。我稍后的目标是调用一个方法并在不刷新页面的情况下显示数据
我知道错误在于JS是客户端,JSP是服务器端。
但我怎么才能解决这个问题呢 在jsp中使用Scriptlet(这些东西
)是非常糟糕的做法。它被和取代
但是是的,服务器在发送到客户端之前在jsp页面中运行java。javascript在java已经执行之后在客户端运行。除此之外,您不能使用scriptlet直接访问javascript变量。然而,你可以用另一种方式来做,但在这种情况下,它对你没有用处
您提到要将值从textarea传递到服务器,而无需重新加载页面。这就是AJAX的用途
<script>
function doSth() {
var text = $("#textarea").val(); //value of textarea
//<%=text%> //error
sendToServer(text);
}
function sendToServer(text){
var params = {
textarea: text
};
$.post("YourServletUrl", $.param(params), function(response) {
// ... handle response here if you have any..
});
}
</script>
在jsp中使用Scriptlet是非常糟糕的做法(这些东西
)。它被和取代
但是是的,服务器在发送到客户端之前在jsp页面中运行java。javascript在java已经执行之后在客户端运行。除此之外,您不能使用scriptlet直接访问javascript变量。然而,你可以用另一种方式来做,但在这种情况下,它对你没有用处
您提到要将值从textarea传递到服务器,而无需重新加载页面。这就是AJAX的用途
<script>
function doSth() {
var text = $("#textarea").val(); //value of textarea
//<%=text%> //error
sendToServer(text);
}
function sendToServer(text){
var params = {
textarea: text
};
$.post("YourServletUrl", $.param(params), function(response) {
// ... handle response here if you have any..
});
}
</script>