Настройка jquery скрытого входного значения не работает должным образом в IE7 и IE8

Продолжаю адаптировать мой код для работы с IE...

У меня есть скрытый div, содержащий форма для редактирования некоторой информации. Когда пользователь выбирает элемент для редактирования, отображается этот элемент div, а поля заполняются информацией для элемента. Этот div (в упрощенном виде) выглядит так:

<div id="editform">
<form action="" method="post" id="qform" name="qform">
    First param: <input name="field1" id="field1"/> <br/>
    Second param: <input name="field2" id="field2"/> <br/>
    ...

    <input type="hidden" name="qid" id="qid" value=""/>

    <img id="submit" src="..." alt="..." title="..." />
</form>

Я использую jquery для установки значений в поля. Моя функция открытия блока редактирования выглядит примерно так:

function edit_item(item_id) {
    item = get_item(item_id);    //this will return a JS object
    $('#field1').val(item.property1);
    $('#field2').val(item.property2);
    ...
    $('#qid').val(item_id);
    $('#submit').click(function() {
        alert($('#qid').val());
        $('#qform').ajaxSubmit();
    });
}

Все это прекрасно работает в FF, Opera, Webkit и IE 9, однако в IE7 и IE8 у меня возникла странная проблема. Я вижу, что item_idправильно устанавливается в функции edit_item, однако, как только эта функция завершается, скрытое входное значение (qid) сбрасывается до пустой строки. Когда форма отправляется с помощью ajax, предупреждение показывает, что значение представляет собой пустую строку, несмотря на то, что оно установлено правильно. Интересно, что все остальные поля в порядке. И это правильно работает в IE 9.

Что я здесь упускаю? Спасибо заранее.

9
задан Charles 18 May 2012 в 17:27
поделиться