這是我在這裏的第一篇文章,雖然我瀏覽了很多答案。我遇到了一個問題,IE8將繼續拋出「Object Expected」錯誤。我用IE8的開發者工具和它指向「mymh.js」文件對象預期的IE8 JS/JQuery問題IE8
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/MyMHome/javascript/mymh.js"></script>
mymh.js只有文件具有下面的代碼
$(document).ready(function() {
$('#hNumber').focus();
$('#ddlDir').change(function() {
var selVal = $('#ddlDir').val();
if (selVal == 'N' || selVal == 'S' || selVal == 'E' || selVal == 'W'){
$.getJSON('/MyMHome/DimeServlet?strDir='+$('#ddlDir option:selected').val(), function(data) {
$('#ddlSt')
.find('option')
.remove()
.end()
$.each(data, function(i,field){
var name = field;
$('#ddlSt')
.append('<option value= ' + '"' + name + '"' + '>' + name + '</option>');
});
});
$('#ddlSt').focus();
}else{
$('#ddlSt')
.find('option')
.remove()
.end()
.append('<OPTION selected value="">Choose a direction first</OPTION>');
}
})
.trigger('change');
$('#reset').click(function(){
$('#ddlSt')
.find('option')
.remove()
.end()
.append('<OPTION selected value="">Choose a direction first</OPTION>');
$('#hNumber').focus();
});
$('#hNumber').bind('keyup', function() {
if($('#hNumber').val().length == 5){
$('#ddlDir').focus();
}
});
$('#submitQuery').click(function(){
var houseNumber = $('#hNumber').val();
if(houseNumber.replace(/\s+/g, '').length == 0){
alert('Please enter a house number.');
$('#hNumber').focus();
return false;
}else if((!$.isNumeric(houseNumber)) || houseNumber.indexOf('-') > -1 || houseNumber.indexOf('.') > -1){
alert('Please enter numbers only. You will be prompted later, if the address requires a suffix.');
$('#hNumber').focus();
return false;
}else if(houseNumber < 100 || houseNumber > 12999){
alert('Please enter a house number between 100 and 12999');
$('#hNumber').focus();
return false;
}else if($('#ddlDir option:selected').val() == 'none'){
alert('Please select a street direction.');
$('#ddlDir').focus();
return false;
}
});
$('form').keypress(function(e) {
if (e.keyCode == '13') {
e.preventDefault();
if($('#ddlSt').is(":focus")){
$('#submitQuery').trigger('click');
}
else{
return false;
}
}
});
});
錯誤指向<script ... mymh.js></script>
但在調試器指向到$document.ready(function() {
任何人都看到任何錯誤,爲什麼IE8會不斷拋出該錯誤?
你沒有加載任何其他JS庫(如原型),對吧?另外,您應該嘗試使用F12中的「開始調試」按鈕;頁面將重新加載,並且JS調試器將停止在引發異常的行上,可能會更容易找到問題。 –
我正在加載的唯一JS庫是JQuery庫。而我正在導入的唯一外部JS文件是mymh.js文件。我將嘗試調試器以查看會發生什麼 –
mymh.js中的對象預計行1。 ($),它是$(document).ready(function(){ –