【发布时间】:2011-12-17 20:44:19
【问题描述】:
我正在使用以下默认值脚本,该脚本可在我测试过的所有浏览器中运行,IE7 除外,其中“名称”字段未显示默认值(它应该显示“名称”)。
我在 IETester 中运行了该页面,它在'name[]': 'Name', 下的}; 行上给出了错误:“预期的标识符、字符串或数字”。我不知道如何解决这个错误。
编辑: 在删除'Name' 之后的逗号后,此错误现已消失,但我仍然没有在 IE7 中看到默认值。你可以在this page 上看到我的意思。
有人可以帮忙吗?
谢谢,
尼克
<script>
$(function() {
var defaults = {
'name[]': 'Name',
};
// separating set and remove
// note that you could add "defaults" as an arg if you had different
// defaults for different fieldsets
var setDefaults = function(inputElements) {
$(inputElements).each(function() {
var d = defaults[this.name];
if (d) {
// set with jQuery
// we don't need the data - just check on the class
$(this).val(d)
.addClass('default_value');
}
});
};
var removeDefaults = function(inputElements) {
$(inputElements).each(function() {
if ($(this).hasClass('default_value')) {
$(this).val('')
.removeClass('default_value');
}
});
};
setDefaults(jQuery('form[name=booking] input'));
// Toggles
$('form[name=booking]').delegate('input', {
'focus': function() {
removeDefaults($(this));
},
'blur': function() {
// switch to using .val() for consistency
if (!$(this).val()) setDefaults(this);
}
});
});
</script>
【问题讨论】:
-
这是简单的调试;听说过
alert()?坚持其中的一些会告诉你问题出在哪里。 -
@Matt 不,我没听说过 alert()。不过,我只是在 IETester 中运行了该页面,它给出了错误:“预期的标识符、字符串或数字”在
};下的'name[]': 'Name',下。我不知道如何解决这个错误。
标签: javascript jquery internet-explorer default-value