Saya mencoba menetapkan nilai baru ke dalam input tersembunyi dan kotak centang dari formulir input. Ini berfungsi dengan baik di Firefox tetapi tidak di IE (saya menggunakan IE 7). Apakah ada yang tahu apa yang salah dengan kode saya?
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;
Kode yang Anda tempelkan seharusnya berfungsi... Pasti ada sesuatu yang lain yang tidak kami lihat di sini.
Check this out. Bekerja untuk saya dengan baik pada IE7. Ketika Anda mengirimkan, Anda akan melihat variabel yang dilewatkan dalam URL.
Jin Yong - IE memiliki masalah dengan mencemari ruang lingkup global dengan referensi objek ke elemen DOM apa pun dengan atribut "name" atau "id" yang ditetapkan pada "initial" pemuatan halaman.
Dengan demikian, Anda mungkin memiliki masalah karena nama variabel Anda.
Cobalah ini dan lihat apakah berhasil.
var someOtherName="abc";
// ^^^^^^^^^^^^^
document.getElementById('msg').value = someOtherName;
document.getElementById('sp_100').checked = true;
Ada kemungkinan (dalam kode asli Anda) bahwa IE mencoba untuk mengatur nilai input ke referensi ke elemen yang sebenarnya (mengabaikan kesalahan) tetapi membuat Anda tidak memiliki nilai baru.
Ingatlah bahwa dalam kasus IE6/IE7 tidak masalah untuk penamaan objek. IE percaya bahwa "foo" "Foo" dan "FOO" adalah objek yang sama.