尝试将变量从JS传递给Classic asp。我使用一个简单的JS脚本来更新表单字段的值,然后尝试使用Classic asp进行选择。这是我的代码
PAGE1
<script type="text/javascript">
<!--
function GetID()
{
var url = window.location.href;
document.forms[0].getid.value = url;
}
window.onload = GetID;
// -->
</script>
.......
<form>
<input name="getid" id="getid" value="" />
</form>
PAGE2
<%dim user
user = Request.form("getid")%>
<p>ID:<%=user%></p>
知道为什么那不起作用?
答案 0 :(得分:1)
我可以在这里建议一些事情......
尝试设置form
方法...
<form method="post">...</form>
确保您确实正在识别var url
指向的控件;使用document.getElementById("...")
可能更安全:
document.getElementById("getid").value = url;
这些可能有用,但如果没有,请告诉我......
- 编辑 -
更多...
如果您愿意,可以使用Microsoft XMLHTTP
对象传递数据(非常类似于AJAX)......
/*
AJAX extension to allow dynamic interaction between pages.
This section initialises the variable used to store the XMLHTTP request object.
*/
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari...
xmlhttp=new XMLHttpRequest();
}
else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
/*
ajaxPage
Posts a request to the scripted specified page.
Parameters:
postPage (string) - The page to be opened.
paramList (string) - The list of parameters/values to be applied to the page.
Usage:
var targetBlock = document.getElementById("resultDiv");
targetBlock.innerHTML = ajaxPage("resultsPage.asp","calcVal=545")
Description:
This routine uses the xmlhttp requesting tools within JavaScript to act as an intermediary between
script and page. Specify all paramters in the paramList by separating with an ampersand (&).
*/
function ajaxPage(postPage, paramList) {
xmlhttp.open("POST",postPage,false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(paramList);
return xmlhttp.responseText;
}
答案 1 :(得分:1)
您忘记提交表单:
function GetID()
{
var url = window.location.href;
var oForm = document.forms[0];
oForm.getid.value = url;
oForm.action = "Page2.asp";
oForm.submit();
}
答案 2 :(得分:-1)
- 放弃此帖子,请参阅Shadow Wizard的评论 -
@ vast365,这是失败的,因为在window.onload
你需要括号来执行这个函数,比如window.onload = GetID();
,否则你告诉javascript设置目标var(在此case your field's value)你的函数GetID的定义。当我将定义移到foo
变量,然后执行foo()
时,您可以在我的小提琴中看到这一点:http://jsfiddle.net/jb_pcs/DPaYt/
所以你想要的只是:http://jsfiddle.net/jb_pcs/DPaYt/1/
PS - 这与您的ASP代码有无。 :)
PPS - 您可以在将页面发布到ASP之前始终提醒您的新字段值,如下所示:http://jsfiddle.net/jb_pcs/DPaYt/2/
干杯!