专用提交按钮使用相同的 servlet 将表单数据单独保存到数据库
Dedicated submit buttons to save form data individually to database, using same servelet
我有一个 jsp 表单,显示为用户的数据输入屏幕。表单上有 2 个输入。要根据组合选择输入的输入字段之一 'A' 的数据。其中另一个输入是简单的输入字段 'B'。有两个提交按钮,一个保存字段 'A' 的值。和其他字段 'B'.
问题是当已经为 'B' 输入数据时,如果单击 'A' 的提交按钮,页面刷新并且为 'A' 输入的数据保存在数据库中(正在按预期工作)。但是,由于提交后页面刷新,为 'B' 输入的值丢失了。
我的问题是如何避免在提交 'A' 时重置 'B' 值。
我建议以下三种方式之一:
1) 将两个值都发送到 servlet,然后 return 在请求范围内传回 B 值,如下所示:
您的
中将包含以下行
request.setAttribute("bFieldValue", bFieldValue);
然后在 JSP 中,您可以使用如下表达式语言访问此数据
${accountList}
2) 将值存储在本地存储中 (HTML5)
localStorage.setItem("fieldBValue", value);
然后在刷新时检索:
document.getElementById("fieldB").innerHTML = localStorage.getItem("fieldBValue");
3) AJAX 请求(感谢 Sid 的建议)
您可以使用 jQuery AJAX 仅提交表单 - 这会停止页面刷新,因此非常理想。像这样:
$("#formB").ajax( {
type: "POST",
url: '/endpoint'
data: formB.serialize(),
success: function(response){
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
} );
然后像这样提交表单来触发上面的JS:
$("#formB").submit(); //Submit the FORM
我有一个 jsp 表单,显示为用户的数据输入屏幕。表单上有 2 个输入。要根据组合选择输入的输入字段之一 'A' 的数据。其中另一个输入是简单的输入字段 'B'。有两个提交按钮,一个保存字段 'A' 的值。和其他字段 'B'.
问题是当已经为 'B' 输入数据时,如果单击 'A' 的提交按钮,页面刷新并且为 'A' 输入的数据保存在数据库中(正在按预期工作)。但是,由于提交后页面刷新,为 'B' 输入的值丢失了。
我的问题是如何避免在提交 'A' 时重置 'B' 值。
我建议以下三种方式之一:
1) 将两个值都发送到 servlet,然后 return 在请求范围内传回 B 值,如下所示:
您的
中将包含以下行request.setAttribute("bFieldValue", bFieldValue);
然后在 JSP 中,您可以使用如下表达式语言访问此数据
${accountList}
2) 将值存储在本地存储中 (HTML5)
localStorage.setItem("fieldBValue", value);
然后在刷新时检索:
document.getElementById("fieldB").innerHTML = localStorage.getItem("fieldBValue");
3) AJAX 请求(感谢 Sid 的建议)
您可以使用 jQuery AJAX 仅提交表单 - 这会停止页面刷新,因此非常理想。像这样:
$("#formB").ajax( {
type: "POST",
url: '/endpoint'
data: formB.serialize(),
success: function(response){
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
} );
然后像这样提交表单来触发上面的JS:
$("#formB").submit(); //Submit the FORM