Как мне обновить текст div внутри таблицы / формы в Jquery внутри диалогового окна? - PullRequest
0 голосов
/ 27 июня 2009

У меня есть div внутри таблицы, который находится внутри формы, которую я хотел бы обновить

<form id="login_form" method="post" action="#" onsubmit="return false;"><table> 
<tr><td>Username</td><td><input type="text" name="name" id="login_name"></td></tr>
<tr><td>Password</td><td><input type="password" name="password" id="login_password"></td></tr>
<tr><td><input type="checkbox" name="keep_logged" id="login_keep" checked></td><td>Keep me logged in on this computer</td></tr>
<tr><td colspan=2><br><INPUT type="submit" name="Submit" value="Submit" onclick="submitLogin();">
<INPUT type="reset" name="Cancel" value="Cancel" id="login_cancel"></td></tr>
<tr><td colspan=2><div id="result_div"></div></td></tr>
</table>
</form>

Я пробовал множество способов обновить этот div, но я не могу заставить его работать. Например:

$("div#result_div").html("My text is changed!");
$("#result_div").html("My text is changed!");
document.getElementById('result_div').innerHTML = 'My Text is changed!';

Я пытался изменить его с div на span с теми же результатами. Если я переместу div за пределы таблицы / формы, обновление текста будет работать отлично, поэтому я уверен, что мой код выполняется правильно.

Будет оказана любая помощь.

Спасибо.

edit: я понял, что это внутри диалогового окна Jquery-ui, прошу прощения за то, что изначально упускал эту часть информации.

Ответы [ 4 ]

2 голосов
/ 27 июня 2009

Похоже, у вас есть какой-то искаженный HTML. Вы пропускаете тег </td> после "Оставить меня в системе ...". Я не знаю, решит ли это это, но это может помочь.

1 голос
/ 27 июня 2009

Ваш фрагмент кода работает для меня, так что нет ничего плохого в том, что вы делаете. Вы пропустили некоторые важные детали из окружающего кода ...

  • Откуда вы пытаетесь сделать обновление? $("#result_div") будет работать только в том случае, если у вас есть <script> ниже элемента <div> на странице, или если вы делаете это из функции обратного вызова $(document).ready(...), поэтому она выполняется только после загрузки страницы.

  • Есть только один элемент с id="result_div", верно?

  • Если вы выводите $("#result_div").html() сразу после его настройки, правильно ли он установлен?

  • Видите ли вы какие-либо ошибки JavaScript в журнале ошибок JS вашего браузера / консоли из других сценариев на странице?

  • Вы не подаете страницу с XHTML <!DOCTYPE> Вы? Или с типом application/xhtml+xml MIME?

  • Что отображается, если вы просто делаете alert($("#result_div").length)?

1 голос
/ 27 июня 2009

Похоже, это работает,

http://jsbin.com/esibi/

Вы вызываете функцию для заполнения #result_div после загрузки HTML, верно?

0 голосов
/ 27 июня 2009

$ ("# result_div"). Text ("Мой текст изменен!");

Убедитесь, что код выполняется без ошибок на странице.

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