Я открываю окно для всплывающих окон и вызываю родительскую функцию из дочернего окна. Но я не могу это сделать на IE8. Проблема, которую я считаю, childwindow.onload
с childwindow.onload
, есть ли альтернативы?
родитель
function CallPopUp(rowindex,controlname ) {
var childWindow = open('test1.aspx', '1397127848655', 'resizable=no,width=700,height=500');
childWindow.onload = function () {
var hidden1 = childWindow.document.getElementById('hidden1');
var hidden2 = childWindow.document.getElementById('hidden2');
alert('asdas');
hidden1.innerHTML = rowindex;
hidden2.innerHTML = controlname;
}
}
ребенок
<span id="hidden1"></span>
<span id="hidden2"></span>
<script language="javascript" type="text/javascript">
function updateParent(code, description) {
var id = document.getElementById('hidden1').innerHTML;
var controlname = document.getElementById('hidden2').innerHTML;
window.opener.setValue(id,controlname,code,description);
window.close();
return false;
}
$(document).on('click', '.submit', function () {
updateParent($(this).closest('tr').find('td:eq(0)').text(), $(this).closest('tr').find('td:eq(1)').text());
return false;
})
</script>
Попробуйте добавить точку с onload
в конец функции onload
например:
function CallPopUp(rowindex,controlname ) {
var childWindow = open('test1.aspx', '1397127848655', 'resizable=no,width=700,height=500');
childWindow.onload = function () {
var hidden1 = childWindow.document.getElementById('hidden1');
var hidden2 = childWindow.document.getElementById('hidden2');
alert('asdas');
hidden1.innerHTML = rowindex;
hidden2.innerHTML = controlname;
};
}
Раньше у меня была аналогичная проблема в IE8, и дело доходило до этого.
onload
? Простоvar childWindow = open(...); var hidden1 = ...