Javascript 带链接的表单提交

Javascript 带链接的表单提交,javascript,html,css,asp-classic,Javascript,Html,Css,Asp Classic,我正在用经典的ASP构建一个网页,它有多达10个用表单包装的链接,并由CSS控制,以提供滚动和彩色块的外观。单击块/链接时,我需要下载一个Zip文件给用户,同时将表单提交回自身,以便使用此信息更新数据库。该页面将可供用户下次下载 我可以将zip文件下载到新窗口,但表单提交不一致,也许您可以建议。我在网上搜索了几个星期,没有找到答案 每个链接的构造如下所示 <table cellspacing="0" cellpadding="0" width="250" border="0">

我正在用经典的ASP构建一个网页,它有多达10个用表单包装的链接,并由CSS控制,以提供滚动和彩色块的外观。单击块/链接时,我需要下载一个Zip文件给用户,同时将表单提交回自身,以便使用此信息更新数据库。该页面将可供用户下次下载

我可以将zip文件下载到新窗口,但表单提交不一致,也许您可以建议。我在网上搜索了几个星期,没有找到答案

每个链接的构造如下所示

<table cellspacing="0" cellpadding="0" width="250" border="0">
     <form action="<%=request("script_name")%>" method="post" id="form1" name="form1">
          <tr style="height:18px;" bgcolor="#e8e8e8">
               <td bgcolor="#e6e6e6" align="center">
                    <a href="http://.....URL of Zip file" onClick="javascript:document.forms(0).submit();" class="dload">DOWNLOAD</a> 
                    <input type="Hidden" name="trak" value="1">
               </td>
          </tr>
     </form>
</table>

使用
document.getElementById(“form1”).submit()
比假定此表单始终是文档中的第一个表单稍微健壮一些。我认为它的跨浏览器兼容性也稍微好一些。

试试这个:

<a href="http://.....URL of Zip file" 
     onClick="javascript:window.open(this.href); document.forms[0].submit();return false;" class="dload">DOWNLOAD</a>

忘掉表单吧。您正在进行日志记录,这在服务器上不是一个重大的更改。将ASP切换为期望GET而不是POST,然后执行以下操作:

<a href="<%=request("script_name")%>?trak=1">...</a>

并让日志脚本返回zip文件(通过读取数据并直接返回,或者通过302重定向进行响应)


不要试图让浏览器对一个链接发出两个HTTP请求,那样只会导致严重的混乱。

Eeek。无效的HTML。呈现式HTML。尝试将
document.forms
用作函数。我强烈建议回到基础上来,这里有很多错误。