Можете ли вы вставить форму на страницу, используя функцию jQuery $ .load ()? - PullRequest
0 голосов
/ 07 апреля 2009

У меня есть страница, где есть таблица перетаскивания, где порядок строк определяет значение промежуточного итога. Однако это сложнее, чем просто сложение, и я бы не стал дублировать логику в JavaScript для обновления значений.

Простым решением было бы перезагрузить всю страницу, используя Ajax, а затем заменить таблицу со страницы, полученной через Ajax. Возможно, это не самое элегантное решение, но я подумал, что это будет быстрый способ выполнить работу, которая будет приемлемой на данный момент.

Вы можете сделать это с помощью jQuery следующим образом:

$('#element-around-table').load(document.location.href + ' #table-id');

Однако мое «простое» решение оказалось не таким простым, поскольку в таблице также есть тег <form>, который не отображается в Firefox (Safari работает).

Когда я проверяю страницу с помощью Firebug, я вижу форму, но она и ее элементы отображаются серым цветом.

Поиск в Интернете, я нашел довольно запутанный пост от парня, который говорит, что FF3 и IE убирают <form> теги из innerHTML звонков.

Я, вероятно, собираюсь пойти дальше, чтобы сделать это каким-то другим способом, но для моего будущего ознакомления я хотел бы знать: так ли это?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2009

Я сталкивался с такими вещами раньше. Теги FORM необходимо добавить в DOM. Если они добавлены с помощью метода, который пишет во innerHTML, тег появится, но его не будет, если речь идет о JavaScript.

0 голосов
/ 07 апреля 2009

Этот пост довольно запутанный, я только что проверил ваш код, и он работал нормально. Тэг формы был показан в Firefox 3.0.8 просто отлично.

Рассматривая пример кода, хотя мне интересно, если вы только что дали неполный пример ... убедитесь, что вызываемая вами страница возвращает только html, который находится внутри этого элемента оболочки.

...