0

我正在使用经典的 asp 并且对语法不太熟悉我的父页面上有这个 JavaScript

function redirect(ID)
{
 document.frmMain.action = "manual.asp?ID=" + ID;
 alert('manual.asp?ID='+ID)
 document.frmMain.submit();
}

但是,当我在新的 asp 页面上捕获时,相同的 ID 将变为空。

<%   
SQLStr = "SELECT * FROM tblUsers WHERE ID='" & Request.QueryString("ID") & "'"
set rst = DataConn.Execute(SQLStr)
Denied = 1
while not rst.eof
    Denied = 0
    rst.movenext
wend
rst.close
if Denied = 1 then  
%>

有人可以帮我解决这个问题。

4

1 回答 1

1

如果您用于重定向的表单是空的,您应该更好地window.location用于此任务

function redirect(id) {
    window.location.href = "manual.asp?id=" + id;
}  

如果表单不为空,则必须为 id 添加一个字段并用参数填充此字段。

<form name="frmMain" action="manual.asp" method="get">
    <input type="text" name="paramter1" value="1" />
    <!-- hidden value for the id -->
    <input type="hidden" name="id" value="" />
</form>


function redirect(id) {
    var form = document.frmMain;
    form.id.value = id;
    form.submit();
}

但是您仍然需要检查 id 参数是否有任何可能破坏您的数据库的非法字符读我

于 2012-06-29T11:43:44.717 回答