ajax: вывести результат между ...

RUNET

Новичок
ajax: вывести результат между ...

собстевенно появилась проблемка

к примеру есть таблица вида:
<table>
<tr><td>blaah</td></tr>
</table>

задача, после выполнения скриптом, воткнуть результат
между </tr> и </table>

т.е. чтобы получилось уже:

<table>
<tr><td>blaah</td></tr>
<tr><td>какой то текст</td></tr>
</table>

собсно вопрос, как ????

можно конечно так и не делать, но... надо так
 

RUNET

Новичок
вопрос на засыпку...

покажи мне как ты это проделаешь...

div или span между </tr> и </table> не засунешь...

мне надо новые данные дописать в конец таблицы...
 

Qwerty

Новичок
...и innerHTML
Но я так понимаю, вопрос был в том, что вставить информацию нужно не в цельный объект, а в довольно неудобное место.
Можно считать внутренность таблицы, дописать к ней row и записать назад, например.

-~{}~ 19.09.07 14:03:

и еще, интересно, не слишком ли нагло будет сделать так:

<tr><td id="a">la-la-la</td></tr>

и засунуть внутрь такое:

la-la-la</td></tr><tr><tr><td>что_надо_добавить
 

RUNET

Новичок
Автор оригинала: Qwerty
...и innerHTML
Но я так понимаю, вопрос был в том, что вставить информацию нужно не в цельный объект, а в довольно неудобное место.
Можно считать внутренность таблицы, дописать к ней row и записать назад, например.
хм, а можно по подробней ??
желательно с примером.

я яваскрипт использую не так часто,и очень много просто не знаю.

ну или дайте хоть линк на мануал... (по теме)
 

Qwerty

Новичок
Почитай про innerHTML и getElementById, линков сейчас не найду.
Однако, меня самого заинтрересовал вариант с записью внутрь ячейки задрелителя ячеек... надо попробовать, по-идее получится.
 

Nutty

Новичок
хех...какой innerHTML???
рунет, смотри в сторону DOM
вставить строку в таблицу - insertRow()
вставить ячейку - insertCell()
дальше сам. в поиске должно быть.
 

Qwerty

Новичок
да, точно... :(
а хорошо прозвучало обращение "рунет", как ко всем рунетчикам... типа, учитесь :)
спасибо за наводку.
 

RUNET

Новичок
...

-~{}~ 19.09.07 16:28:

так чего хотел добился...
но! работает зараза токо в лисе... :(((

сделал так:
Код:
<tbody id="page">
<tr><td colspan="5"></td></tr>
</tbody>
в IE пишет
Код:
Строка: 60
Символ: 3
Ошибка: Неизвестная ошибка выполнения
Код: 0
а там:

document.getElementById('page').innerHTML=req.responseText;
 

Nutty

Новичок
а я просто так про ДОМ говорил?:))
в ИЕ свойство innerHTML для таблиц и еще некоторых элементов только для чтения
 

RUNET

Новичок
Автор оригинала: Nutty
а я просто так про ДОМ говорил?:))
в ИЕ свойство innerHTML для таблиц и еще некоторых элементов только для чтения
insertrow не катит
так как данные пиходят уже ввиде

<tr><td>bla bla</td></tr>

...
вот их то мне и надо воткнуть

не...ну конечно можно занятся извращением... но не охото :)
 

Nutty

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

Qwerty

Новичок
ну обрежь эти тэги да и всё... нормальное красивое решение с insertrow

-~{}~ 20.09.07 08:01:

типа того:
http://nrd.pnpi.spb.ru/UseSoft/Journals/WebCreator/webc8/dform.htm
 

RUNET

Новичок
всем спасиб за помощь.

разберусь.

сейчас нарвался на косяк в лисе...

в файлике который вызываетс скриптом следующее:

Код:
if($save->mark == 0){

$smarty->assign("content",$ac->mark(true));
$smarty->display('ajax_mark.tpl');

}else if($save->mark > 0 && $save->model == 0){

$smarty->assign("content",$ac->model(true, $save->mark));
$smarty->display('ajax_model.tpl');

}else{

$smarty->display('ajax_add.tpl');

}
в IE если $save->mark и $save->model > 0 возвращает $smarty->display('ajax_add.tpl');
а вот в лисе почему то возвращает $smarty->display('ajax_model.tpl');

почему понять не могу, проверял данные, все ок..почему так не пойму

Код:
function next(id)
{
var result = '';
var tags = document.main.getElementsByTagName("*");
for(var i=0; i<tags.length; i++)
{
if(tags[i].className == "auto")
{
result+=tags[i].name + '=' + tags[i].value + '&';
}
}

url = 'ajax/?' + result;

if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.onreadystatechange = function(){

if (req.readyState == 4)
{
document.getElementById(id).innerHTML=req.responseText;
}
}

req.open("POST", url, true);
req.send(null)
}
-~{}~ 20.09.07 16:15:

свою проблемку решил :) сам дурак...в качестве разделителя в value поставил якорь...
 
Сверху