我的页面上有一个小表单,用户可以在特定酒店搜索可用性,或在所有酒店搜索可用性:
<script type="text/javascript" language="javascript">
function Redirect() {
if (searchAll) {
document.getElementById("Hotel").value = "0";
}
return true;
}
</script>
<form name="form1" action="search.asp" method="POST" id="form1"
onsubmit="return Redirect()">
<input type="hidden" id="Hotel" name="Hotel" value="<%= HotelID %>">
<input id="btnHotelSearch" type="submit" name="btnHotelSearch"
value="Search This Hotel" onclick="searchAll=false">
<input id="btnHotelSearchAll" type="submit" name="btnHotelSearchAll"
value="Search All Hotels" onclick="searchAll=true">
</form>
每当按下按钮时,我会运行一些javascript来设置传递的HotelID。这在Firefox中运行良好。但是在IE中,每当我按下任一按钮时,我都会收到脚本错误,说'searchAll'未定义
我需要做些什么来解决这个问题?
答案 0 :(得分:3)
您需要在searchAll
函数之外声明Redirect
变量,因此它位于全局范围内,因此可以从Redirect
函数和您的内联事件处理程序访问:
var searchAll;
function Redirect() {
if (searchAll) {
document.getElementById("Hotel").value = "0";
}
return true;
}