我正在使用经典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>
答案 0 :(得分:0)
使用document.getElementById("form1").submit()
会比假设此表单永远是文档中的第一个表单稍强一些。我认为它也略微跨浏览器兼容。
答案 1 :(得分:0)
试试这个:
<a href="http://.....URL of Zip file"
onClick="javascript:window.open(this.href); document.forms[0].submit();return false;" class="dload">DOWNLOAD</a>
答案 2 :(得分:0)
忘掉表格。您正在进行日志记录,这不是服务器上的重大更改。切换ASP以期望GET而不是POST,然后执行:
<a href="<%=request("script_name")%>?trak=1">...</a>
让日志记录脚本返回zip文件(通过读取数据并直接返回或使用302重定向进行响应)。
不要试图让浏览器为一个链接发出两个HTTP请求,这样只会导致一个令人讨厌的混乱。