专用提交按钮使用相同的 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