Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Не работает скрипт в ie (https://javascript.ru/forum/css-html-internet-explorer/33054-ne-rabotaet-skript-v-ie.html)

Yulia100207 08.11.2012 19:00

Не работает скрипт в ie
 
Привет.У меня не работает скрипт в ie? в мозиле,опере без проблем всё отображает.Суть такова:
есть два селекта при выборе одного и второго должна подгружаться страница,но почему то она не отображается в ie.
Это то что прописано у меня в html:
<select name="TOWNFROMINC" class="TOWNFROMINC" id="SKV_SOURCE_TOUR" autocomplete="off" >{foreach from=$TOWNFROMINC item="item"}<option value="{$item.Inc}" {if $item.selected}selected{/if}>{$item.LName}</option>{/foreach}</select>

<select name="STATEINC" class="STATEINC" id="SKV_SOURCE_STATE" autocomplete="off" >{foreach from=$STATEINC item="item"}<option value="{$item.Inc}" {if $item.selected}selected{/if}>{$item.LName}</option>{/foreach}</select>

<div id="SKV_NOTES"></div>

<button class="load" onchange="skvLoadNotes();" disabled="disabled">##TOUR_SEARCH_REFRESH##</button>

а это то что написано в js:

window.onload = function () {skvLoadNotes();}
window.onchange = function () {skvLoadNotes();}

function skvLoadNotes()
{

var noteLink = 'data/notes/'; // Type a source to a folder where you have just located your notes.



var noteContent = document.getElementById('SKV_NOTES');

var sourceState = document.getElementById('SKV_SOURCE_STATE').option s[document.getElementById('SKV_SOURCE_STATE').select edIndex].value;
var sourceTour = document.getElementById('SKV_SOURCE_TOUR').options[document.getElementById('SKV_SOURCE_TOUR').selecte dIndex].value;

noteContent.innerHTML = '';
noteLink = noteLink + 'c' + sourceState + 't' + sourceTour + '.html';

var httpRequest = skvCreateRequestObject();

httpRequest.overrideMimeType('text/html; charset=windows-1251');

if (httpRequest)
{
httpRequest.open('get', noteLink, true);

httpRequest.onreadystatechange = function ()
{
if(httpRequest.readyState == 4)
{
if (httpRequest.status == 200)
{
noteContent.innerHTML = '<p> </p>' + httpRequest.responseText + '<p> </p>';
}
else
{
noteContent.innerHTML = '';
}
}
}

httpRequest.send();
}

}


function skvCreateRequestObject()
{

try {return new XMLHttpRequest()}
catch(e)
{
try {return new ActiveXObject('Msxml2.XMLHTTP')}
catch(e)
{
try {return new ActiveXObject('Microsoft.XMLHTTP')}
catch(e) {return null;}
}
}

}
Помогите пожалуйста разобраться в чём бок,почему експлоер его не видит???????

Deff 17.12.2012 17:47

Yulia100207,
Используйте теги форматирования скриптов и HTML кодов - нечитаемо!

http://javascript.ru/formatting

Sanda 17.12.2012 17:50

window.onchange = function () {skvLoadNotes();}

Проблема в этой строчке. В IE событие change не всплывает, поэтому до вызова соответствующей функции дело не доходит.
Попробуйте так:
document.getElementById('SKV_SOURCE_STATE').onchange = function () {skvLoadNotes();}
document.getElementById('SKV_SOURCE_TOUR').onchange = function () {skvLoadNotes();}


Часовой пояс GMT +3, время: 05:55.