当我尝试提交JSP页面时,我遇到了一个问题。
我将简要描述这个场景,以便明确。
情景
我在JSP页面上的html组件中有一些输入元素。
该表有很多<tr>
。这些<tr>
已被授予ID,例如<tr id="1">
。
现在我试图将这些tr id的逗号分隔列表传递给服务器端代码或Servlet。
以逗号分隔的列表形成,在JSP的提交或更具体的表单上循环一些逻辑。
问题:
当我提交表单时,有时我在服务器端代码上没有收到上面提到的逗号分隔值。
偶尔会发生这种情况。现在当我像setTimeOut()
那样通过Java脚本延迟时,我没有遇到这个问题。
所以有人可以帮我指导吗?
Java Script行为有时是非连续的吗?
提前致谢。
答案 0 :(得分:0)
只要不使用异步机制(例如Timer,Ajax等),JavaScript执行就是顺序的 所以问题是你如何提交表格。我曾编写类似功能的代码,但我从未遇到过你提到的问题。
在这里,我提供了我的解决方案。希望这可以提供帮助。
我不使用<input type="submit" />
提交表单。相反,使用一个公共按钮和onclick事件绑定:
<form id="form1" action="serverscripturl" method="post">
<input type="button" value="submit" onclick="form1submit()" />
<input id="field1" name="field1" type="hidden" />
</form>
然后我使用JavaScript函数来执行连接和提交:
function form1submit(){
var list = ""; // your comma separated list
for (var i = 0; i < data.length; i ++)
list += (data[i]+",");
// set the value of field1 the list
document.getElementById("field1").value = list;
document.getElementById("form1").submit(); // submit the form<br>
}
并在服务器端脚本response.getParameter("field1")
上运行。
希望这可以帮到你。