默认值script在IE7中不工作
Default value script not working in IE7
我使用以下默认值脚本,该脚本在我测试过的所有浏览器中工作,除了IE7,其中默认值没有显示'Name'字段(它应该显示'Name')。
我在IETester中运行页面,它给出了错误:"预期标识符,字符串或数字"在'name[]': 'Name',
下的};
行上。我不知道如何修复这个错误。
EDIT:这个错误现在已经消失了,在'Name'
之后删除逗号,但我仍然没有看到IE7中的默认值。你可以在这一页看到我的意思。
有人能帮忙吗?
谢谢,尼克
<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>
,它给出了错误:"Expected identifier, string or number"在'name[]'下:'name ',。我不知道如何修复这个错误。
IE阻塞了后面的逗号:
var defaults = {
'name[]': 'Name',
};
IIRC,完全符合ECMAScript标准。总之,只要去掉后面的逗号就行了
(我在回答你的另一个问题,哈哈)
首先你说逗号打断了它,这是不正确的JSON语法。
其次,不支持ie8及以下版本(我很想说根本不支持IE,因为它很烂,但显然大多数互联网仍在使用它)
第三,你需要调试这个来弄清楚,看看解析JSON($. parsejson()我想)。
我可以告诉你到底是什么错了,怎么做,但它比花一些时间练习调试javascript更值得在浏览器中打开控制台,并使用console.log(VARIABLE);在你的JS。或者在不同的时间使用alert(VARIABLE)。
如
var setDefaults = function(inputElements) {
$(inputElements).each(function() {
var d = defaults[this.name];
alert(d);
if (d) {
// set with jQuery
// we don't need the data - just check on the class
$(this).val(d)
.addClass('default_value');
}
});
};
相关文章:
- 应该怎么做才能使其在IE7中工作
- Chrome 中的图片映射:事件未触发!在IE7中工作正常
- 无法在 IE 9 中传递此运算符的值,而它在 IE7 和 IE8 中工作正常
- 使 JavaScript 特定的代码在 IE7 中工作
- 获取尾随逗号(在JavaScript中)在IE7 / IE8中工作
- jquery设置隐藏的输入值在IE7和IE8中未按预期工作
- 推文按钮在IE7中无法正确显示,但在Mozilla,chrome和IE 8中工作正常
- 为什么我的应用程序中的某些组件在IE7中工作,而在IE9中不起作用
- slideToggle()在IE7中无法正常工作
- 我可以使用excanvas或类似的画布填充程序让impact js在IE7和/或8中工作吗
- this.style.backgroundColor don'我不在IE7/8工作
- 让hashchange事件在所有浏览器(包括IE7)中工作
- 带有渐变的Javascript滑块在chrome上失败,而在FF和IE7/8/9上工作
- IE7中没有填充mootools中的动态下拉列表.IE8工作良好
- 水平菜单和具有公共边界的子菜单,它们也必须在ie7中工作
- jQuery:包含在ie7中不工作的内容(jQuery 1.3.5)
- jQuery Scroll不能在ie7和ie8中工作
- 美元(& # 39;html # 39;) .append()并# 39;t在IE7工作
- ie7问题:jquery点击编辑不工作
- 按钮标签在ie7中不工作