旧版HTML - 带有文本值的文本链接表单提交

时间:2015-11-25 02:14:54

标签: javascript html servlets legacy

我正在开发一个旧学校项目,我必须在其中添加动态表单提交到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?

2 个答案:

答案 0 :(得分:0)

您可以在表单中输入隐藏的输入,并将其设置为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");

答案 1 :(得分:0)

我想,我已经弄明白了。我将通过javascript提交表单,正如我所提到的,我将有1个隐藏字段,这将是“requestedReport”。在每个<a href>我都会调用提交,如<a href="#" onclick=submit('reportName'); return=false;>reportName</a>

在提交javascript中,我会做

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