我正在使用jsp将数据发布到servlet,但是发布数据之后,我希望保留在相同的jsp上。简单地说:1)我这里有一个带有两个文本框的jsp。我使用javascript在单击按钮时将数据从一个复制到另一个。2)我使用相同的按钮将数据发布到数据库。3)我希望两个操作一次完成,不应该转到第三个jsp(servlet发布结果),但是,应该转到我使用的另一个jsp。
我可以单独处理这两件事,但放在一起我就做不到了。数据在数据库中得到更新,并在第一个文本中显示一个新行(这是我的错,我使用了重定向方式),或者将数据从第一个textbox移动到另一个textbox而不进行数据发布。请帮我做这件事。下面是我用来做这件事的代码片段。
用于复制数据和post数据的java脚本有:
function move(){
document.getElementById('tgt1').value = document.getElementById('Allocation').value;
document.getElementById('Allocation').value="";
document.getElementById("Send").disabled=true;
}
function invoke(but)
{
if(but==0)
{
document.myform.action="Alloc_Insert.do";
}
按钮的方法声明如下:
<table><tr><center><td><input type="Submit" value="Allocate" id="Send" onClick="invoke(0);move();" style="width:150px" style="font-size:100%"/></td></center></tr> </table>
和我使用的servlet代码如下所示。
ResultSet rs=null;
String Add=request.getParameter("tgt1");
String user=(String) session.getAttribute("myusername");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();Date d1 = new Date();
String d1_str = new SimpleDateFormat("yyyy-MM-dd").format(d1);
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","tiger");
PreparedStatement ps=con.prepareStatement("UPDATE SCOPE1 SET ALLOCATED='"+d1_str+"', SPECIALIST='"+user+"' WHERE DBID='"+Add+"'");
con.setAutoCommit(true);
int i=ps.executeUpdate();
if(i==1)
{
String redirectURL= "Update_Counts.jsp";
response.sendRedirect(redirectURL);
}
else{
out.print("retry");
}
正如我在评论中提到的,考虑对servlet的javascript异步调用(AJAX)。
在这种情况下,您的页面不会改变,您可以在后台与服务器进行所有交互。
这里是AJAX教程
下面是JSP和AJAX组合的示例
问题内容: 考虑: 提交表单时,如何确保下拉列表中的选定值保持选中状态?此表单位于WordPress(PHP)内部。 问题答案: 为了避免许多if-else结构,让JavaScript自动完成:
可以给我一个例子从提交按钮后的输入中提取数据,并在同一页发送到输出H2吗? 这是我的输入和提交按钮。 谢谢你的帮助!!
下面是MultistepForm的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。
问题内容: 大家好,我有一个联系表格,验证码在那里。提交表格后,我想保留支票。我发布了文本框值,它显示正确,但复选框不起作用。这是我的代码。 提交表格后如何保留复选框? 问题答案: 更改 至 这将使复选框保持选中状态。
考虑以下代码 结果如下: notifyAll()在13毫秒时被调用。但是,控件仅在10016毫秒时退出等待()。 从上面给出的代码中可以看出,在进行了通知()调用之后,等待()调用似乎没有立即结束。 但是,包括Java API在内的所有文档都指定,调用wait()的方法应该在notify()调用之后立即获得锁。 如果在调用通知()时等待()不会结束,那么对通知()的需求就会变得无效,因为即使没有调
我使用Python3和Selenium firefox提交一个表单,然后获取它们登陆的URL。我是这样做的 这在大多数情况下都有效,但有时页面加载时间超过5秒,我会得到旧的URL,因为新的URL还没有加载。 我应该怎么做?