Javascript: Getelementbyid Not Working In Ie8 March 27, 2024 Post a Comment I've this very simple JavaScript to display the selected option in the span. It works fine in all the browsers except IE8. Code - Solution 1: Issue is with this.value in IE8 change it to :-<select onchange="searchdisplay(this.options[this.selectedIndex].value)"> and it shall work fine.DemoIn your current codeFix your markup too as others said in the comments.<selectonchange="searchdisplay(this.options[this.selectedIndex].value)"><option>kill</option><option>bill</option><option>by</option><option>torentino</option><option>is</option><option>not</option><option>good</option></select><spanid="container"></span>CopyIdeal way is to add value attribute for the select options. and do this.value which probably is guaranteed to work.Solution 2: your script does work.. it just that your value attribute does not exist, i guess the other browsers are not looking for the "value" attributes.. and uses the text of the option when it's missing but IE8 does need it..add the value attribute to each option and it will be ok<selectonchange="searchdisplay(this.value)"><optionvalue="kill">kill</option><optionvalue="bill">bill</option><optionvalue="by">by</option><optionvalue="torentino">torentino</option><optionvalue="is ">is </option><optionvalue="not ">not </option><optionvalue="good">good</option></select>CopySolution 3: This page specifically about IE8 event handling says :Microsoft’s event handling is filled with shortcomings, where some of the more serious are:Just one global event object, instead of local objects per event.When using the attachEvent method, the keyword this in the event handling function refers to the window object, and not the HTML event it actually occurred on. No support for capture phase. Different syntax, with requiring the “on” prefix for the event in question.Item 2 implies to me that the this in your onchange will be the window not the clicked element. To check this out log, or better in IE8, alert the value passed into searchDisplayThe following code :<scripttype="text/javascript">functiongetOption(e) { var event = e|window.event; alert(event.srcElement.innerHTML); // works in IE but shows the select objectalert(event.target.innerHTML); // works well in FF, shows the right option } </script><bodyoncontextmenu="return false;"><selectsize="4"oncontextmenu="getOption(event)"><optionvalue="1"> option1 </option><optionvalue="2"> option2 </option></select></body>Copymight help you, it is posted here to get around a very similar situation with selects. Share Post a Comment for "Javascript: Getelementbyid Not Working In Ie8"
Post a Comment for "Javascript: Getelementbyid Not Working In Ie8"