12

我正在尝试为不解释输入元素的占位符属性的浏览器找到一个后备解决方案。我有这个简单的 jQuery 脚本,但它会引发错误

SecurityError: "The operation is insecure.
this.value = val;"

这是我的脚本:

$('document').ready(function(){
       $('input').each(function() {
           if ($(this).val() === '' || $(this).val() === undefined) {
               $(this).val($(this).attr('placeholder'));
           }
       });
});

有人知道我能做什么吗?或者我做错了什么?或者这个错误意味着什么?它发生在 Firefox 中,尚未在其他浏览器中测试过。

4

2 回答 2

28

我刚刚在我的项目中解决了类似的问题。原来我试图设置一个<input type="file" ...>输入的值。似乎您可能面临同样的问题,因为您正在选择文档的所有输入,而不管它们的类型如何。

如果您安装了 firebug,请尝试通过插入log命令来查找导致此错误的输入,然后再尝试修改输入的值。

$('document').ready(function(){
       $('input').each(function() {
           if ($(this).val() === '' || $(this).val() === undefined) {

               // Log goes here
               window.console.log(
                   'There is an input without a value!', 
                   this);

               $(this).val($(this).attr('placeholder'));
           }
       });
});
于 2012-09-03T14:47:26.327 回答
0

我有一个不安全的警告与 antoher 功能。原因很简单,一个库函数是用一个作为参数的数组调用的,但它需要一个元素(dom)。结果是预期的,但我敢肯定,无论如何都不会这样。因此,请检查您的变量类型是否是您(或另一方)想要的类型。

于 2012-12-19T17:03:57.077 回答