Hari ini, ketika mengekspor Excel, saya menggunakan input tersembunyi dari Formulir untuk membedakan ekspor dan pencarian. Pada awalnya nama fungsi event onClick di js sama dengan nama id di tersembunyi. Akibatnya, kesalahan dilaporkan: Objek di baris tempat fungsi dipanggil tidak mendukung atribut ini.
Setelah lama mencari, saya tidak dapat menemukan alasannya. Awalnya saya mengira itu huruf yang salah, hanya ternyata fungsi js tidak dijalankan sama sekali. Belakangan, saya tidak bisa langsung memanggil fungsi lain, dan ternyata berfungsi. Saya pikir itu karena nama fungsinya, jadi saya mengubah nama fungsinya sebelum berfungsi. Kemudian saya mengubah id di input menjadi sama dengan nama fungsi, dan terjadi kesalahan lagi. Sebelum contoh berikut diverifikasi, saya selalu mengira itu adalah bug dalam penguraian template ThinkPHP. Karena contoh berikut dipastikan nama fungsi di js tidak boleh sama dengan id di elemen.
Misalnya:
Copy kode kodenya sebagai berikut:
<html>
<kepala>
<meta http-equiv="Jenis Konten" content="teks/html;charset=utf-8" />
<title>ceshi</title>
<skrip>
fungsi a()
{
dokumen.getElementById('a').value="test";
alert(document.getElementById('a').value);
kembali salah;
}
</skrip>
</kepala>
<tubuh>
<bentuk>
<masukan tipe="tersembunyi" id="a" nama="a" nilai="" />
<input type="button" value="excel" onClick="javascript:a();"/>
</bentuk>
</tubuh>
</html>
Detail kesalahan web
Agen pengguna: Mozilla/4.0 (kompatibel; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727)
Stempel Waktu: Kam, 27 Jan 2011 13:30:09 UTC
Pesan: Objek tidak mendukung properti atau metode ini
Baris: 17
Karakter: 1
Kode: 0
URI: file:///C:/Documents%20and%20Settings/Administrator/Desktop/test.html