проблема DOM JavaScript - PullRequest
       2

проблема DOM JavaScript

0 голосов
/ 29 июля 2011
<html>
<head>
<script type="text/javascript">
var c=0;
var t;
var timer_is_on=0;

function timedCount()
{
document.getElementById('txt').value=c;
if(c == 100) return;
c=c+1;
t=setTimeout("timedCount()",30);
}

function doTimer()
{
if (!timer_is_on)
  {
  timer_is_on=1;
  timedCount();
  }
}
</script> 
</head>

<body onload="doTimer()">
<form>
<input type="button" value="Start count!">
<input type="text" id="txt">
</form>
<p>Click on the button above. The input field will count forever, starting at 0.</p>
</body>
</html>

Я хочу изменить

<input type="text" id="txt">

на

<div type="text" id="txt">

Это не работает.Я думаю, что проблема в

document.getElementById('txt').value=c;

Но я попытался

document.getElementById('txt').innerHTML=c;

Это все еще не работает.Может кто-нибудь сказать мне, почему?Ура !!!

Ответы [ 3 ]

2 голосов
/ 29 июля 2011

Установка значения текстового поля будет заполнять текст в текстовом поле.Если вы хотите заменить вход на div, вы должны использовать:

element.replaceChild(newDiv, oldTextbox);

Попробуйте:

var div = document.createElement("DIV");
div.id = "txt";
div.innerText = "Hello world!";

var tb = document.getElementById("txt");
tb.parentElement.replaceChild(div, tb);
0 голосов
/ 29 июля 2011

По сути, вы спрашиваете об этом:

var d = document.createNode("div")
d.setAttribute("id", "txt")
d.setAttribute("type", "text");
var input = document.getElementById( "txt" );
input.parentElement.replaceChild( d, input );

Но я думаю, что тебе лучше:

function timedCount()
{
    document.getElementById('txt').value=c;
    if(c == 100) return;
    c=c+1;
    t=setTimeout("timedCount()",30);
}

function doTimer()
{
   if (!timer_is_on)
  {
      // set the input to readOnly, this allows JS to update it without 
      // letting the user modify the value.
      document.getElementById('txt').readOnly = true
      timer_is_on=1;
      timedCount();
  }
}
0 голосов
/ 29 июля 2011

Попробуйте изменить <div type="text" id="txt"> на <div id="txt">

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