im Freien - wie Event-Handler in Surf-Vorlage hinzufügen?
-
19-09-2019 - |
Frage
<div class="yui-gd">
<div class="yui-u first"><label for="${args.htmlid}-addContent">${msg("label.HowToAddContent")}:</label></div>
<div class="yui-u">
<select id="addContent" name="addContent" onchange="dropdown(this)">
<option value="1" selected="selected">${msg("label.generateFromDescription")}</option>
<option value="2">${msg("label.uploadFile")}</option>
</select>
</div>
</div>
<script type="text/javascript">//<![CDATA[
function dropdown(sel){
//if(document.getElementById("addContent").value == "1")
if(sel.value == "0"){
document.getElementById('desc').style.display = 'block'
}
else {
document.getElementById('desc').style.display = 'none'
}
}
//]]></script>
Ich schreibe es, weil ich Event-Handler in Auswahlfeld hinzufügen möchten, es funktioniert gut in Firefox, aber im IE es immer null Ausnahme auslösen. Auch durch i attachEvent verwendet wird, kann es immer noch nicht im Internet Explorer. Wenn ich document.getElementById verwenden ( „addContent“) in oben, es wird immer null Ausnahme werfen! Aber all diese Dinge funktionieren gut in Firefox!
Kann mir jemand sagen, warum? Vielen Dank im Voraus!
Lösung
Welche IE-Version verwenden Sie? Wenn es eine alte Version, versuchen Sie den ausgewählten Wert durch die Optionen zu erhalten:
var selectedValue = sel.options[sel.selectedIndex].value;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow