Частый гость
Покинул форум
Сообщений всего: 201
Дата рег-ции: Март 2008
Откуда: СПб, Ломоносов
Помог: 0 раз(а)
|
надеюсь понятно объясню....
вызываю модальное окно с формой (выпадающие списки, календарь, текстовые и тд) при первом вызове нареканий нет. в последующих я обновляю страничку через ajax, обновляются выпадающие списки (в теории),НО когда я вызываю снова окно снова там остаются данные с предыдущей формы. я выбираю то что нужно, а он отправляет данные по дефолту (как будто я ничё не менял, поля не заполнял и просто нажал отправить). при следующем вызове он ставитте данные которые я выбрал в прошлый раз, меняю, отправляет то что было в прошлый раз. вопщем непонятно...
если без модального окна, то форма выводится как надо. табличка, которую вывожу выше в этом же скрипте новая, т.е. аякс всё возвращает всё правильно. в аякс запросе cache: false
скрипт который добываю аяксом выглядит оно примерно так
PHP:
скопировать код в буфер обмена
<?PHP header("Expires: Sat, 1 Jan 2000 00:00:00 GMT"); header("Last-Modified: " . gmdate( "D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate"); ?> // сдесь таблица с ланными <script defer type="text/javascript"> $(function() { $("#dialog-form").dialog({ autoOpen: false, height: 490, width: 650, modal: true, cache: false, buttons: { 'Добавить': function() { alert(document.getElementById('cont1').selectedIndex); $(this).dialog('close'); AddContainer('<?PHP echo $_POST['number']; ?>', document.getElementById('cont1').value, document.getElementById('type1').value, document.getElementById('oper1').value, document.getElementById('datepicker1').value, document.getElementById('cargo1').value, document.getElementById('recipient1').value, document.getElementById('mail1').value, '<?PHP echo $_POST['recnum']; ?>'); }, 'Отмена': function() { $(this).dialog('close'); } } }); $('#addcont') .button() .click(function() { $('#dialog-form').dialog('open'); }); $('#savepart') .button() .click(function() { $('#dialog-form').dialog('open'); }) }); </script> <div id="dialog-form" title="Добавить контейнер в партию."> <form name="f1" id='f1'> <table border="0" cellspacing='1' valign='top'> <tr height="30" valign='top'> <td width="" id='txt'>Номер контейнера</td> <td> <?PHP $q2 = "SELECT.... "; echo "<select name='cont1' id='cont1'>"; { { } } echo "</select>"; //echo odbc_errormsg($con)."<br>".$q; ?> </td> </tr> <tr height="30" valign='top'> <td id='txt'>Вид досмотра</td> <td> <?PHP $q3 = "SELECT...."; echo "<select name='type1' id='type1'>"; { } echo "</select>"; ?> </td> </tr> <tr height="30" valign='top'> <td id='txt'>Дополнительные операции</td> <td> <?PHP $q4 = "SELECT..."; echo "<select name='oper1' id='oper1'>"; { } echo "</select>"; ?> </td> </tr> <tr height="30" valign='top'> <td id='txt'>Дата досмотра</td> <td> <input type="text" id="datepicker1_" name="date1_" size="11" value="<?PHP echo $DT_CSTAGENT; ?>" disabled> <input type="hidden" id="datepicker1" name="date1" size="11" value="<?PHP echo $DT_CSTAGENT; ?>"> </td> </tr> <tr height="30" valign='top'> <td id='txt'>Наименование груза</td> <td> <textarea cols="40" id='cargo1' rows="3"></textarea> </td> </tr> <tr height="30" valign='top'> <td id='txt'>Получатель</td> <td> <textarea cols="40" id='recipient1' rows="3"><?PHP echo $NM_RECIP; ?></textarea> </td> </tr> <tr height="30" valign='top'> <td width="" id='txt'>E-MAIL</td> <td> <input name="mail1_" type="text" id="mail1_" value="<?PHP echo $MAIL_WBUSER; ?>" disabled> <input name="mail1" type="hidden" id="mail1" value="<?PHP echo $MAIL_WBUSER; ?>"> </td> </tr> </table> </form> </div> <table> <tr><td><button id="savepart">Сохранить</button></td> <td><button id="addcont">Добавить контейнер</button> </td></tr> </table>
как заставить показывать то что надо, без кэширования и "новую" форму???(Отредактировано автором: 18 Мая, 2010 - 15:36:23)
|