Javascript 脚本5009:';设置显示卡';在internet explorer中未定义
我在IE10中的Struts web应用程序的一个页面上发现了上述错误,但在chrome或firefox中没有。编辑:在任何版本的internet explorer中都不起作用 显然未定义的javascript函数是在调用它的JSP上定义的。我已经研究了涉及此错误的其他问题,但它们似乎都是.Net或jQuery的问题,本页中没有使用这些问题(尽管jQuery在应用程序的其他地方使用) 以下是JSP的简化版本: (很抱歉,它仍然很大,我没有写它,所以不能确定什么是不相关的)Javascript 脚本5009:';设置显示卡';在internet explorer中未定义,javascript,internet-explorer,jsp,struts-1,Javascript,Internet Explorer,Jsp,Struts 1,我在IE10中的Struts web应用程序的一个页面上发现了上述错误,但在chrome或firefox中没有。编辑:在任何版本的internet explorer中都不起作用 显然未定义的javascript函数是在调用它的JSP上定义的。我已经研究了涉及此错误的其他问题,但它们似乎都是.Net或jQuery的问题,本页中没有使用这些问题(尽管jQuery在应用程序的其他地方使用) 以下是JSP的简化版本: (很抱歉,它仍然很大,我没有写它,所以不能确定什么是不相关的) 功能设置显示卡(值)
功能设置显示卡(值){
如果(值!=“”){
如果(值==“F”| |值==“O”)
document.getElementById(“isPagerLoaded”).value=“Y”;
else if(值==“N”| |值==“S”)
document.getElementById(“isPagerLoaded”).value=“N”;
}
}
这是谁的卡
applyCreditCardCharge(document.PaymentDetailsForm、document.PaymentDetailsForm.cardType.value);
这是我从IE10上的开发者工具中得到的html:
<!doctype html>
<!-- HTML5 Boilerplate -->
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js gt-ie8" lang="en"><!--<![endif]-->
<head>
<meta charset="utf-8">
<base href="http://XXX/pages/paymentdetails.jsp">
<script src="scripts/libs/modernizr-2.6.2.js"></script>
<script src="scripts/util.js?v1.9"></script>
<script src="scripts/libs/jquery-1.10.2.min.js"></script>
<script src="scripts/form.js?v1.0"></script>
<meta name = "format-detection" content = "telephone=no">
</head>
<body id="top" class="annual js-form">
<div id="outer-wrap">
<script language="JavaScript" type="text/javascript">
<!--
autoCompOff('PaymentDetailsForm');
-->
function setShowCard(value){
console.log("got here");
if(value != ""){
if(value == "F" || value == "O")
document.getElementById("isPageReloaded").value = "Y";
else if(value == "N" || value == "S")
document.getElementById("isPageReloaded").value = "N";
}
}
</script>
<form name="PaymentDetailsForm" method="POST" action="/XXX/PaymentDetails.do">
<input type="hidden" id="redirectLink" name="redirectLink" value=""/>
<input type="hidden" name="totalprice" value="1963.66" />
<input type="hidden" name="paymentdetails.recalc" value="" />
<input type="hidden" id="showWaitertPage" name="showWaitertPage" value="md-loading"/>
<section class="content-main">
<div class="inner-content">
<div class="box box-editable editing js-show-hide">
<div class="box-body">
<div class="form-row editable js-ufs">
<label for="cardowner" class="form-label">Whose card is this</label>
<select name="cardHolder" id="cardowner" required="required" onchange="setShowCard(this.value)" class="js-ufs-trigger"><option value="" selected="selected"></option>
<option value="N">User</option>
<option value="S">Partner/Spouse</option>
<option value="F">Family member</option>
<option value="O">Other</option>
<input type="hidden" id="isPageReloaded" name="pageReload" value="N" /></select>
</div>
</div>
</div>
</div> <!-- END .inner-content -->
</section>
<script>
applyCreditCardCharge(document.PaymentDetailsForm,document.PaymentDetailsForm.cardType.value);
</script>
</form>
</div>
<script src="scripts/helpers.js"></script>
<script src="scripts/conditional-loader.js?v0.9"></script>
</body>
</html>
功能设置显示卡(值){
console.log(“到达这里”);
如果(值!=“”){
如果(值==“F”| |值==“O”)
document.getElementById(“isPagerLoaded”).value=“Y”;
else if(值==“N”| |值==“S”)
document.getElementById(“isPagerLoaded”).value=“N”;
}
}
这是谁的卡
使用者
伴侣/配偶
家人
其他
applyCreditCardCharge(document.PaymentDetailsForm、document.PaymentDetailsForm.cardType.value);
非常感谢您的帮助。我只需要将autoCompOff方法移到找不到的方法下面。如果有人知道,我很想知道为什么这样做。元素已经受到保护,这意味着它是一个不遵循HTML解析标准的部分。可以有一个变量,
var a=“Hello”
(双引号),HTML解析器不会中断
很遗憾,注释块部分在脚本元素中不起作用:
<!-- -->
我希望这有帮助。我也有类似的问题
错误;SCRIPT5009:internet explorer中未定义“提交”
这里的“提交”是我的提交按钮的id
此行抛出错误:
$(submit).click(function() {
我把它改成:
$('#submit').click(function() {
它现在在IE上工作。希望这对那里的人有帮助
$(submit).click(function() {
$('#submit').click(function() {