您正在尝试将一个asp页面的文本框值设置为其他asp页面并设置该值 这是VBScript,它做了
If(disableListHeaderPR()) Then
bEnablePRField = false
Else
bEnablePRField = true
End If
这里disableListHeaderPR()
是JS函数。我收到错误,说变量未定义:'disableListHeaderPR'
这是JS函数代码
function disableListHeaderPR()
{
if(dateDifference(document.getElementById("txtCommDte").value, "05/04/2012") < 0 )
{
return false;
}
else
{
return true;
}
}
答案 0 :(得分:2)
此页面包含从js调用vbs的信息,反之亦然。
http://www.webdeveloper.com/forum/archive/index.php/t-49920.html
但请记住,只要您使用的是VBScript,您的应用就无法在IE以外的任何浏览器中按预期运行。
答案 1 :(得分:0)
我的解决方案是在VBScript服务器端设置变量,然后将结果刷新到另一个调用其他JavaScript函数的JavaScript函数中的页面。样品(未经测试)如下:
<%
Dim bEnablePRField
bEnablePRField = Request.Form("checkboxEnablePRField") <> ""
%>
<script type="text/javascript">
function EnablePRField() {
if (<%=bEnablePRField%> === 'False') {
disableListHeaderPR();
}
}
function disableListHeaderPR() {
if (dateDifference(document.getElementById("txtCommDte").value, "05/04/2012") < 0 ) {
return false;
} else {
return true;
}
}
</script>
与此类似的东西应该对你有用。
我觉得我应该指出,对于Classic ASP,VBScript只在服务器端处理,所以这应该适用于任何支持JavaScript的浏览器。在我切换到.Net之前,我经常使用这个技巧,它在Firefox和IE中运行良好。
如果您希望在VBScript函数中使用JavaScript函数的结果,只需将JavaScript函数的结果存储在隐藏字段(例如<input id="myResults" name="myResults" type="hidden" />
)中,然后访问VBScript中的值(例如,Request.Form("myResults"
)。
如果要在客户端混合使用VBScript和JavaScript,也可以使用隐藏字段。只需更改您访问VBScript中隐藏字段的方式(例如document.form("myForm").myResults.value
)。
最后,我对techfoobar表示赞同。如果您在客户端混合使用VBScript和JavaScript,那么它将使用的唯一浏览器是IE,我也强烈建议完全切换到JavaScript。
希望这有帮助,
皮特