Bir giriş formunun gizli girişine ve onay kutusuna yeni bir değer atamaya çalıştım. Firefox'ta sorunsuz çalışıyor ancak IE'de çalışmıyor (IE 7 kullanıyorum). Kodumda neyin yanlış olduğunu bilen var mı?
HTML:
<input type="hidden" id="msg" name="msg" value="" style="display:none"/>
<input type="checkbox" name="sp" value="100" id="sp_100">
Javascript:
var Msg="abc";
document.getElementById('msg').value = Msg;
document.getElementById('sp_100').checked = true;
Yapıştırdığınız kod çalışmalıdır... Burada göremediğimiz başka bir şey olmalı.
Şuna bir bakın. IE7'de benim için iyi çalışıyor. Gönderdiğinizde URL'de geçen değişkeni göreceksiniz.
Jin Yong - IE'nin global kapsamı kirletme sorunu var "name" veya "id" özniteliği "initial" sayfa yüklemesinde ayarlanmış herhangi bir DOM öğesine nesne referansları ile.
Bu nedenle değişken adınız nedeniyle sorun yaşayabilirsiniz.
Bunu deneyin ve işe yarayıp yaramadığına bakın.
var someOtherName="abc";
// ^^^^^^^^^^^^^
document.getElementById('msg').value = someOtherName;
document.getElementById('sp_100').checked = true;
IE'nin (orijinal kodunuzda) girdinin değerini bu gerçek öğeye bir referansa ayarlamaya çalışması (hatayı yok sayması) ancak size yeni bir değer bırakmaması ihtimali vardır.
IE6/IE7'de nesneleri adlandırmak için büyük/küçük harf kullanımının önemli olmadığını unutmayın. IE, "foo" "Foo" ve "FOO" öğelerinin hepsinin aynı nesne olduğuna inanır.