2012-08-02 19 views
12

değerini ayarlarken "İşlem güvensiz" hatası Girdi öğeleri için yer tutucu özniteliğini yorumlamayan tarayıcılar için bir geri dönüş çözümü bulmaya çalışıyorum. Ben bu basit jQuery Senaryo var ama İşte bir hatajQuery: Javascript

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

atar benim senaryom var:

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

Herkes herhangi bir fikir ne yapabilirim? Ya da neyi yanlış yapıyorum? Ya da bu hatanın anlamı nedir? Firefox'ta oluyor, henüz diğer Tarayıcılarda test etmediniz.

+4

Eh? Bu hatayı hiç görmedim. Hangi tarayıcı attı? – Utkanos

+2

FWIW '$ (this) .val()' hiçbir zaman 'undefined' döndürmez. –

+1

Javascript'in form değerlerini değiştirmesini engelleyen herhangi bir tarayıcı eklentisi veya eklentiniz var mı? –

cevap

26

Projemde de benzer bir sorunu çözdüm. <input type="file" ...> girişinin değerini ayarlamaya çalıştığım ortaya çıktı. Görünüşe göre aynı sorunla karşılaşıyor olabilirsiniz, çünkü türünden bağımsız olarak bir belgenin tüm girişlerini seçiyorsunuz.

Yüklenmiş bir firebug varsa, girdinin değerini değiştirmeye çalışmadan önce bir log komutu ekleyerek bu hataya neden olan girdiyi aramayı deneyin.

$('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

Parlak. Aslında sorun buydu. Teşekkürler! –

+1

Güvenlik nedeniyle dosya girişi btw'yi ayarlamak imkansız – grasshopper

0

Antoher işleviyle bağlantılı olarak güvenli olmayan bir uyarım vardı. Bunun sebebi basitçe, bir kütüphane fonksiyonunun parametre olarak verilen bir dizi ile çağrılmasıydı, fakat bir eleman (dom) olmasını bekliyordu. Sonuç bekleniyordu, ancak eminim ki, bu hiçbir durumda olmayacak. Yani değişkenlerinizin türünün sizin (veya diğer tarafın) istediği türden olup olmadığını kontrol edin.