2012-08-02 14 views
12

Estoy tratando de encontrar una solución alternativa para los navegadores que no interpretan el atributo de marcador de posición para los elementos de entrada. tengo este sencillo script jQuery pero genera un errorjQuery: Javascript arroja el error "La operación no es segura" al establecer el valor

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

Aquí está mi script:

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

Alguien alguna idea de lo que puedo hacer? O lo que estoy haciendo mal? ¿O qué significa este error? Sucede en Firefox, aún no lo he probado en otros navegadores.

+4

¿Eh? Nunca he visto ese error. ¿Qué navegador lo arrojó? – Utkanos

+2

FWIW '$ (this) .val()' nunca devolverá 'undefined'. –

+1

¿Tiene alguna extensión del navegador o complementos que se ejecutan que podrían estar deshabilitando Javascript para modificar los valores del formulario? –

Respuesta

26

Acabo de solucionar un problema similar en mi proyecto. Resultó que estaba tratando de establecer el valor de una entrada <input type="file" ...>. Parece que puede estar enfrentando el mismo problema, porque está seleccionando todas las entradas de un documento, independientemente de su tipo.

Si tiene Firebug instalado, intente buscar la entrada que causa este error insertando un comando log antes de intentar modificar el valor de la entrada.

$('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')); 
      } 
     }); 
}); 
+4

Brillante. Ese fue realmente el problema. ¡Gracias! –

+1

Es imposible establecer la entrada de archivos por cierto por razones de seguridad – grasshopper

0

Tuve una advertencia insegura en relación con una función antoher. El motivo simplemente era que se llamaba a una función de biblioteca con una matriz dada como parámetro, pero esperaba un elemento (dom). El resultado fue el esperado, pero estoy seguro de que esto no será en ningún caso. Compruebe si los tipos de sus variables son los que usted (o el otro lado) quiere.

Cuestiones relacionadas