|
|
|
| пытаюсь выполнить такой код
document.getElementById(id).innerHTML = document.getElementById(id).innerHTML +
'<form action="javascript:requestdata(
document.getElementById(\'form1\'), \'' + id + '\');
" method="post" name="form1" id="form1">
<textarea name="text" cols=30 rows=3></textarea>
</dd><dd><input type="button" onclick="onview(document.form1.text.value, \''
+ id + '\');" name="view" value=" View " /> <input type="submit" name="submit" onclick="idt = \''
+ id + '\';" value=" Add " /></form>';
|
в ОПЕРЕ работает в IE выдает "неизвестная ошибка выполнения"
а вот если убрать вставку формы
document.getElementById(id).innerHTML = document.getElementById(id).innerHTML + "<p>777</p>";
|
то работает.
в чем может быть проблема??? | |
|
|
|
|
|
|
|
для: Trivium
(21.03.2008 в 17:08)
| | Потестируйте в firefox с установленным firebug
он все ошибки находит ;) | |
|
|
|
|
|
|
|
для: Antohins
(21.03.2008 в 17:18)
| | Так в опере всё нормально работает, файерфокс может и не найдёт ничё | |
|
|
|
|
|
|
|
для: Antohins
(21.03.2008 в 17:18)
| | скачал, а как его ставить? | |
|
|
|
|
|
|
|
для: Trivium
(21.03.2008 в 18:05)
| | firebug это плагин для firefox
после установки firefox скачайте firebug (качать нужно из firefoxa и тогда он определит его как плагин) после скачки он установиться. после всего этого в нижнем правом углу появится зеленая галочка(это значит что страница без ошибок) или красный крест(страница с ошибками)
после нажатия на ошибку он укажет на строку, в которой найдена ошибка.
Отличный дебаггер. юзайте | |
|
|
|
|
|
|
|
для: Antohins
(21.03.2008 в 18:15)
| | ничего не определил... та в IE тоже есть шняга которая на строку указывает с ошибкой... | |
|
|
|
|
|
|
|
для: Trivium
(21.03.2008 в 18:28)
| | ие - отстой
а фаербаг - отличный дебаггер.
дайте пожалуйста ссылку на скрипт, если он залит в интернет.
а лучше php код =) | |
|
|
|
|
|
|
|
для: Antohins
(21.03.2008 в 18:31)
| | Это JS:
function showForm(id)
{
document.getElementById("showcomm").innerHTML = '';
if (oldid == id)
return;
if (oldid != '')
document.getElementById(oldid).innerHTML = oldtext;
oldtext = document.getElementById(id).innerHTML;
// Вот тут выдаётся "неизвестная ошибка"
document.getElementById(id).innerHTML = document.getElementById(id).innerHTML + '<dd><form action="javascript:requestdata(document.getElementById(\'form1\'),
\'' + id + '\');
" method="post" name="form1" id="form1"><textarea name="text" cols=30 rows=3></textarea>
</dd><dd><input type="button" onclick="onview(document.form1.text.value, \''
+ id + '\');" name="view" value=" View " />
<input type="submit" name="submit" onclick="idt = \''
+ id + '\';" value=" Add " /></form></dd>';
oldid = id;
flag = false;
}
|
А это PHP:
function getcomments($id, $status, $karma,
$commkarma, $commmin, $lastcomment, $login)
{
$rs = mysql_query('SELECT id, text, date, login FROM comments WHERE parrent_id = '.$id);
while ($a = mysql_fetch_array($rs))
{
$s .= "\r\n".'<div id="'.$a['id'].'"><dd id="'.$a['id'].'">'.date('d.m.Y H:i:s', $a['date']);
$s .= '<div id="t'.$a['id'].'">'.stripslashes($a['text']).'</div>';
$tmp = getcomments($a['id'], $status, $karma, $commkarma, $commmin, $lastcomment, $login);
if (strlen($tmp))
$s .= '<dl>'.$tmp.'</dl>';
$s .= '<br /><a href="#" onclick="showForm('.$a['id'].');return false;">Answer</a>';
$s .= '<br /><a href="#" onclick="showForm('.$a['id'].');return false;">Answer</a>';
$s .= '</dd></div>'."\r\n";
}
return $s;
}
$rs = mysql_query('SELECT id, text, date, login FROM comments WHERE parrent_id = 0 AND blog_id = '.$blog);
while ($a = mysql_fetch_array($rs))
{
$s .= '<div id="'.$a['id'].'"><dl>'.date('d.m.Y H:i:s', $a['date']);
$s .= '<div id="t'.$a['id'].'">'.stripslashes($a['text']).'</div>';
$s .= '<br /><a href="#" onclick="showForm('.$a['id'].');return false;">Answer</a>';
$s .= getcomments($a['id'], $status, $karma, $commkarma, $commmin, $lastcomment, $login)."</dl>
</div>\r\n";
}
|
В опере всё работает нормально а в IE неизвестная ошибка. в чём может быть прикол? | |
|
|
|
|
|
|
|
для: Trivium
(21.03.2008 в 18:51)
| | Во-первых, у Вас очень длинный код.
попробуйте провести вот такую последовательность действий:
document.getElementById(id).innerHTML = document.getElementById(id).innerHTML + '(что там у вас было)';
|
->
var d=document;
var el=d.getElementById(id);
var ih=el.innerHTML;
ih+='(что там у вас было)';
|
т.е. упрощайте все объекты-переменные.
Так будет проще найти ошибку. | |
|
|
|