【问题标题】:Passing variable from JavaScript to servlet [duplicate]将变量从 JavaScript 传递到 servlet [重复]
【发布时间】:2014-04-17 22:22:13
【问题描述】:

我在我的 JSP 页面中使用了 JavaScript 来处理 div 标签的获取数据:

var script = ace.edit("editor");
var myDivText = script.getValue();

现在我想将 myDivText 传递给我的servlet.java。直到今天我已经通过了如下

window.open('http://XXX.XX.XXX.XX:8800/FirstServlet/mygeco?mytxt=' + myDivText,'resizable=yes');

但是现在,我必须包含一些输入表单,现在我通过提交机制调用我的 servlet,那么如何在不使用上述方法的情况下将 myDivText 传递给 servlet.java?

===============================编辑=============== ==========

我的表单如下所示:

<form method="post" name="myform" action="upload" target="_top" enctype="multipart/form-data">
<li>Left File :  <input type="file" name="dataFile1" id="fileChooser1" /></li>
<li>Right File : <input type="file" name="dataFile2" id="fileChooser2" /></li>
<li>Config File :<input type="file" name="dataFile3" id="fileChooser3" /></li>
<li><input type="hidden" name="myField" id="myfield" value="" /></li>
</form>

通过 JavaScript 提交表单:

var scc1 = document.getElementById("box");
scc1.innerHTML = scc1.innerHTML + "<br>" + "<span class='blue'>Uploading files, the page might refresh</span>";
var thetxt = scc1.innerHTML;
document.getElementById('myField').value = thetxt; 
document.myform.submit();   

在 Servlet.java 中获取数据

String mydiv = request.getParameter("myField");
request.setAttribute("mydiv", mydiv);

【问题讨论】:

  • 使用表单中的隐藏字段来传递它..
  • 怎么样?我不知道这种方法,这正是我发布这个问题的原因。

标签: java javascript jsp servlets


【解决方案1】:

你可以给你的隐藏字段一个 id:

.html 文件

你的表格

<form action="">
<input type="hidden" name="myField" id="myField" value="" />
</form>

然后当你想分配它的值时:

你的 Javascipt

document.getElementById('myField').value = myDivText;

发送带有操作的表单..

然后在操作页面使用request.getParameter("myField")检索它

希望对你有帮助

更新

希望此链接有所帮助 Multipart/form-data how to get parameter hidden

How to upload files to server using JSP/Servlet?

【讨论】:

  • 等一下,试试看。我会尽快通知你的。
  • 嘿,表单本身没有被提交。当我点击提交时,什么都没有发生。
  • @Zedai &lt;input type="submit" value"submit"&gt;你试过了吗?
  • 检查一下我刚刚更新了我的代码。
  • 如果您使用 chrome.press ctrl+shift+i 并转到控制台并检查您的 javascript 中是否有任何错误...可能在 form.submit 之前发生了一些错误跨度>
【解决方案2】:

创建表单并通过javascript设置值并提交表单。

<form action='<url>' method="POST">
<input type="hidden" name="divtext"/>
</form>

在 JS 中

form = document.getElementById("formId"); // or directly through dom
// set the values.
form.submit();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2013-06-10
    • 2011-04-06
    • 1970-01-01
    • 2012-10-24
    相关资源
    最近更新 更多