Это мой первый вопрос, так что вот так ...
У меня есть проблема в IE8, где у меня есть всплывающая форма (window.showDialog()
), используемая для редактирования информации о квитанции в системе учета.
Это работало нормально, пока мне не пришлось добавлять больше контента, добавляя динамически построенную таблицу полей ввода. Я получаю информацию обратно в массив, однако, там, где моя ошибка, кажется, происходит. var pinputs = [];
- вот что, кажется, вызывает проблему.
функция js во всплывающей форме:
function saveForm() {
if($('user_id')){
var user_id = $F('user_id');
} else {
var user_id = 0;
}
var payments = $$('.payment');
var pinputs = [];
for(var i=0; i<payments.length; i++){
pinputs.push($F(payments[i]));
}
window.returnValue = {received_of: $F('received_of'), user_id: user_id,
note: $F('note'), work_date: $F('work_date'), payment: pinputs};
window.close();
}
Функция js в родительском файле js:
function modifyReceiptInformation(id) {
return window.showModalDialog('mod.php?mod=receipts&mode=receipt_edit_popup&wrapper=no&receipt_id=' + id, 'Modify Receipt',"dialogWidth:600px;dialogHeight:500px");
}
Я уже обнаружил подобную ситуацию здесь, но это было связано с вызовом функций из дочерней формы, чего я здесь не делаю. Возможно я не понял решение? Я не эксперт по JS, поэтому любой вклад будет полезен.
- Edit -
Забыл также добавить сюда, что var payments = $$('.payment');
- это массив полей ввода в моем файле шаблона.