传统HTML-具有文本值的文本链接表单提交

Legacy HTML - Text link form submission with text value

本文关键字:文本 链接 表单提交 传统 HTML-      更新时间:2023-09-26

我正在做一个老派项目,在这个项目中,我必须向JSP页面添加动态表单提交。链接将动态生成,因此我需要跟踪单击了哪个链接。例如

<form id="download" method="GET" action="/DownloadReports.jsp">
    <table>
        <tr>
           <td><a href="#">Report Name to download</td>
        </tr>
    </table>
</form>

我需要做的是提交这个表单,以便在servlet中,我知道单击了哪个链接。我意识到我必须这样调用javascript:

  function submit() {     
      form = document.getElementById('download');
      form.submit();          
  }

然后我将添加<a href="#" onclick="submit(); return false;">。。。但现在我的问题是,如何将单击的链接值发送到servlet?

您可以在表单中有一个隐藏的输入,并将其设置为将发送到服务器的javascript。

HTML

<form id="download" method="GET" action="/DownloadReports.jsp">
<input type=hidden name="formName" >
    <table>
        <tr>
           <td><a href="#">Report Name to download</td>
        </tr>
    </table>
</form>

在Javascript中,根据您的需求设置隐藏输入。我不确定你是如何动态生成html的。

然后您可以在servlet中检索这个输入,如

String form = request.getParameter("formName");

我想,我已经想通了。正如我所提到的,我将通过javascript提交表单,我将有一个隐藏字段,即"requestedReport"。在每次<a href>,我都会像<a href="#" onclick=submit('reportName'); return=false;>reportName</a> 一样调用submit

在提交javascript中,我将执行

function submit (reportName){
    document.formName.hiddenField.value=reportName;
    document.formName.submit();
}