Это прямой HTML/javascript. Эта страница отлично работает, когда выполняется сама по себе, но через вызов AJAX она не работает в IE11. После нажатия кнопки «показать» на главной странице открывается список с параметрами, считанными из файла XML; он принимает двойной щелчок, чтобы выбрать элемент, и отображает выбранный номер в поле предупреждения. (он также записывает это значение в файл свойств java). В Chrome и FF он работает так, как ожидалось, но не в IE11. В IE он не хочет выбирать какой-либо элемент. Возвратная страница AJAX открывает div с абсолютным позиционированием и возможностью перетаскивания. После того, как я перетащил окно со списком в другое место, он неожиданно работает и в IE (но только после перетаскивания всего нескольких пикселей). Я могу только предположить, что это ошибка в IE11, но есть ли работа? Почему перетаскивание ящика заставляет его работать?HTML-код не работает после вызова AJAX
Вот значимый код:
в main.jsp:
<span id='showcurevent' onclick='showevent(<%=EVENTID%>, 0)'>Show </span>
<div id='Qevents' class='drag' ></div>
<script>
function showevent(nr, curevent) {
var eventdiv=document.getElementById('Qevents');
var url="AJAX1.jsp?xml=<%=XMLfile%>&index="+nr+"&curevent="+curevent;
sendAjaxRequest(url, callback1);
}
function callback1(pushtext) {
var eventdiv=document.getElementById('Qevents');
eventdiv.innerHTML=pushtext;
eventdiv.style.visibility='visible';
}
в AJAX1.jsp файле:
<table><tr>
<td><select id='sel' size=10 ondblclick='SetSelectedEvent(this.value)'>
<option value='1'>1 text1</option>
<option value='2'>2 text2</option>
etc, several more ...
</select></td></tr>
</table>
в main.jsp файле:
function SetSelectedEvent(nr) {
var url="AJAX2.jsp?props=<%=propsFile%>&event="+nr;
sendAjaxRequest(url, callback2);
}
function callback2(pushtext) {
var number = pushtext.substring(pushtext.indexOf("Value selected=")+15,pushtext.indexOf("</body"));
alert('value Selected: '+number);
}
в AJAX2.jsp:
<%
String eventnr=request.getParameter("event");
%> Event selected=<%=eventnr%>
</body>
AJAX1 и AJAX2 фактически тот же самый файл, но разные части коды, выбранное значение request.parameter) значение (.
Сам код AJAX находится в отдельном файле .js:
function sendAjaxRequest(url, callback) {
var xmlHttp=new XMLHttpRequest();
if (xmlHttp==null) { // browser does not support AJAX
return;
}
xmlHttp.onreadystatechange=function() {
if (xmlHttp.readyState==4 && xmlHttp.status == 200) {
callback(xmlHttp.responseText);
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
OnClick = 'showevent (<%=EVENTID%>, 0)'>, вероятно, должен быть OnClick = 'showevent ("<%=EVENTID%>", 0)'> если это строка, а не переменная – Bindrid
события выбран = <%=eventnr%> также отсутствует quoats выбран – Bindrid
Event = <%=eventnr%>? – Bindrid