JavaScript DOM 问题

发布于 2024-11-26 18:24:38 字数 980 浏览 1 评论 0原文

<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;

它仍然不起作用。 有人能告诉我为什么吗? 干杯!!!

<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>

I want to change

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

into

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

It doesn't work.
I think the problem is

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

But I tried

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

It still doesn't work.
Could someone tell me why?
Cheers!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

云淡风轻 2024-12-03 18:24:38

设置文本框的值将填充文本框中的文本。如果你想用 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);

Setting the value of the textbox is going to populate the text in the textbox. If you want to replace an input with a div you should use:

element.replaceChild(newDiv, oldTextbox);

Try:

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

var tb = document.getElementById("txt");
tb.parentElement.replaceChild(div, tb);
来日方长 2024-12-03 18:24:38

尝试将

更改为

Try changing <div type="text" id="txt"> to <div id="txt">

你的笑 2024-12-03 18:24:38

基本上,你问的是这样做:

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();
  }
}

Basically, you're asking about doing this:

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

But I think you're better off:

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();
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文