jQuery:Javascript在设置值时抛出错误“操作不安全”

时间:2012-08-02 15:33:37

标签: javascript jquery

我正在尝试为不解释输入元素的占位符属性的浏览器找到后备解决方案。 我有这个简单的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中,尚未在其他浏览器中测试过。

2 个答案:

答案 0 :(得分: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'));
           }
       });
});

答案 1 :(得分:0)

我有一个不安全的警告与antoher功能一起使用。 原因就在于,使用作为参数给出的数组调用库函数,但它期望一个元素(dom)。 结果是预期的,但我敢肯定,这不会是任何情况。 因此,请检查变量的类型是否是您(或另一方)想要的变量类型。