表单提交链接

时间:2010-12-02 12:45:08

标签: javascript html css asp-classic

我正在使用经典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>

3 个答案:

答案 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请求,这样只会导致一个令人讨厌的混乱。