Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > не работает innertext


Автор: СЭНСЭЙ 30.11.2008, 10:47
вобщем вот код, над которым я бился до полуночи
тут есть лишнее, но я хочу показать все в том виде как оно есть.
Код

<script LANGUAGE="JavaScript">
function bonclick()
{
<?php 
 $dblocation = "127.0.0.1"; 
  $dbname = "test"; 
  $dbuser = "root"; 
  $dbpasswd = "123"; 

echo 'x=" 123" 
';

  $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); 
  if (!$dbcnx) 
  { 
    echo'x+="<p>К сожалению, не доступен сервер mySQL</p>"'; 
    exit(); 
  } 
  if (!@mysql_select_db($dbname,$dbcnx) ) 
  { 
   echo'document.write("<p>К сожалению, не доступна база данных</p>")'; 
    exit(); 
  } 
  $result = mysql_query("select * from users"); 
  if(!$result) 
  { 
   echo'document.write("<p>Ошибка в запросе</p>")'; 
    exit(); 
  } 

echo'x+="'.date("jS F H:i").'<br>"
';
$h=date("H");
echo'x+="'.$h.'<br>"
';
echo 'document.sp1.write(x)
';
?>
}
function bc2()
{
document.all.sp1.textcontent="123"+"654";
document.all.t1.value=document.all.sp1.innertext;
document.all.sp1.style.color="red";
javascript:chtext('sp1', 'New text');

}
</script>


<textarea id="t1" rows=10 cols=60>123</textarea>
<table>
<tr>
<td>How did you find Bob's</td>
<td>
</td>
</tr>
</table>
<BUTTON onclick = "bonclick()">
Выполнить </BUTTON>
<div id="sp1">"123"</div>
<button id="b2" onclick="bc2()">go</button>
<h1 id="x">asgf</h1>
<script>
<?php 
 $dblocation = "127.0.0.1"; 
  $dbname = "test"; 
  $dbuser = "root"; 
  $dbpasswd = "123"; 
 $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); 
  if (!$dbcnx) 
  { 
    echo'x+="<p>К сожалению, не доступен сервер mySQL</p>"'; 
    exit(); 
  } 
  if (!@mysql_select_db($dbname,$dbcnx) ) 
  { 
   echo'document.write("<p>К сожалению, не доступна база данных</p>")'; 
    exit(); 
  } 
  $result = mysql_query("select * from users"); 
  if(!$result) 
  { 
   echo'document.write("<p>Ошибка в запросе</p>")'; 
    exit(); 
  } 

$num_results = mysql_num_rows ($result) ;
 for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
}
?>
document.all.sp1.innerhtml="<button>132</button>"
</script>


проблема в том, что в ИЕ7 и в ФФ3 одно и то же:
в этой функции function bc2() работает все,кроме того что текст div'а с id="sp1" не меняется в окне.
при этом текст объекта "t1" меняется, так как и должно быть - на "123456"
и цвет div а тоже меняется. Он похоже как меняется но это изменение не отображается.
Помогите пожалуйста.

Автор: СЭНСЭЙ 30.11.2008, 12:00
Сорри - я тут конечно намусорил.
Сам разобрался в проблеме:
Все дело в том, что innertext не везде работает корректно,
нужно подьзоваться innerHTML
причем нужно строго учитывать регистр в названии команды
вот работающий код
Код

<HTML>
<HEAD>
<script LANGUAGE="JavaScript">
function chtext()
{
    eval (textdiv).innerHTML = 'newtext';
}
</SCRIPT>
</HEAD>

<BODY>
<DIV ID="textdiv" STYLE="position: absolute; left:150px;top:50px">
Old text
</DIV>
<P CLASS="norm">
<button onclick="chtext()">Изменить текст</button>
</P>
</BODY>
</HTML>


ВСЕМ СПАСИБО!!!

Автор: SelenIT 30.11.2008, 19:21
innertext, насколько я владею вопросом, нигде не работает. А innerText изначально - IE-only :)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)