Текст ответа со страницы ajax не отображается в заданном положении - PullRequest
0 голосов
/ 15 июля 2011

Я - мой код. Я получаю значение со страницы ajax, но оно отображается в другом месте, чем я хочу отобразить.Я хотел бы отобразить его в, ..

<tr><td>hello</td></tr>
<tr id="showajax"><td>Ajax Value is:</td><div id="ajaxhide"></div></tr>

здесь возвращенное значение ajax отображается где-то еще.

Я использовал document.getElementById ('ajaxhide'). InnerHTML = xmlhttp.responseText;внутри JavaScript также правильно.Возвращаемое значение ajax выглядит так:

        echo '<td>'."Thanks".'</td>';

1 Ответ

2 голосов
/ 15 июля 2011

Ну, во-первых, вы пытаетесь динамически изменить размер таблицы.Лучше было бы создать пустую ячейку для начала, а затем обновить содержимое.

У вас также есть некоторый недопустимый синтаксис с <div id="ajaxhide"></div>, плавающим вне любых ячеек таблицы, но внутри строки таблицы.Дело не только в том, что он не пройдет проверку, и каждый браузер может относиться к нему по-разному, но и в том, что когда вы вносите изменения в контент, вы пытаетесь вставить ячейку в div (что технически не разрешено), который находится внутристрока (что также технически не разрешено).

Решение состоит в том, чтобы использовать:

<tr id="showajax"><td>Ajax Value is:</td><td id="ajaxhide"></td></tr>

Теперь, чтобы сделать обновление AJAX:

 document.getElementById('ajaxhide').innerHTML=xmlhttp.responseText;

Предупреждение Internet Explorer

IE считает, что COL, COLGROUP, TABLE, TBODY, TFOOT, THEAD и TR только для чтения,Это означает, что вы можете обновить ячейку (TD, TH), но не всю строку и не всю таблицу.В приведенном выше примере вы не пытаетесь это сделать ... но просто помните об ограничении, если ваш дизайн изменится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...