0
前段時間我決定停止使用事件屬性來分離HTML和Javascript。優化Javascript代碼<select>
所以現在我有這個HTML。
<form name="x" action="x.php" method="get">
<label>
<select name="language" size="1" id="languageselect">
<option value="da" selected>Dansk (da)</option>
<option value="en">English (en)</option>
<option value="">Brug browserens indstillinger</option>
</select>
</label>
</form>
和這個Javascript。 但我想知道如果我的代碼可以更好,似乎偶爾我在我的Javascript日誌文件中獲取有關「this.form.submit();」的錯誤消息。
<script type="text/javascript">
function languageformsubmit() {
'use strict';
this.form.submit();
}
function init_hjemmeside_addeventlistener() {
'use strict';
var languageselect;
if (document.getElementById('languageselect')) {
languageselect = document.getElementById('languageselect');
languageselect.addEventListener('change', languageformsubmit, false);
}
}
function init_hjemmeside_attachevent() {
'use strict';
var languageselect;
if (document.getElementById('languageselect')) {
languageselect = document.getElementById('languageselect');
languageselect.attachEvent('onchange', languageformsubmit);
}
}
if (window.addEventListener) {
window.addEventListener('load', init_hjemmeside_addeventlistener, false);
} else if (window.attachEvent) {
window.attachEvent('onload', init_hjemmeside_attachevent);
}
</script>
該代碼工作正常,但我想知道它是否會更好。
我不現在有錯誤信息,但我幾次,我看見它在錯誤日誌,所以我想也許我可以調用this.form之前測試的東西。我不想使用jquery。 – scootergrisen
好的。我能想到的唯一的測試是this或this.form是null還是undefined。如果您看到錯誤,請將其發佈到此處。 –