【问题标题】:how to change value of textfield of HTML using javascript如何使用javascript更改HTML文本字段的值
【发布时间】:2012-10-31 07:49:11
【问题描述】:
<head>
<script type="javascript">
function display()
    {
        document.getElementById("textField1").value = "abc";
    }
</script>
</head>
<body>

<form id="form1" action="http://google.com">

<input id="textField1" type="text" value="0" align="right" size="13"/><br>

<input id="button1" type="button" value="1" onclick="display()">
</form>
</body>

但 textfield 的值没有改变。

任何想法我做错了什么??

【问题讨论】:

  • 我希望它从“0”变为“abc”,实际上我正在创建一个计算器,我将通过“1”,但在不久的将来,当这个问题得到解决时

标签: javascript html forms


【解决方案1】:

试试

<script type="text/javascript">

而不是

<script type="javascript">

。我相信后者不是一个有效的语法。

删除type 属性也完全有效:

<script>

【讨论】:

  • 最好完全删除。
  • 我要说的是,附加这个是为了说明你可以只做
  • @T.J.Crowder 它可以工作,但它干净吗? Stack Overflow 包含 type 属性。
  • @JanDvorak:是的。 default for type 一直是 JavaScript。 Code Bundle 说的是“最现代的网络浏览器”,但它不是大多数,它是全部,从 90 年代中期到“古代”都是现代的。
【解决方案2】:

你的线路

document.getElementById("textField1").value = "abc";

正确,试试

    <head>
<script>
function display() {
        document.getElementById("textField1").value = "abc";
    }
</script>
</head>
<body>

<form id="form1" action="http://google.com">

<input id="textField1" type="text" size="13" value="clear" /><br>

<input type="button" onclick="display()">
</form>
</body>

【讨论】:

    【解决方案3】:

    从您的script 标记中删除type。这是不正确的,使浏览器不会将 script 内容视为 JavaScript。 Here it is not workinghere it is working(删除了 type="javascript")。

    【讨论】:

      【解决方案4】:

      必须是

      <script type="text/javascript">
      function display()
          {
              document.getElementById("textField1").value = "abc";
          }
      </script>
      

      而不是

      <script type="javascript">
      function display()
          {
              document.getElementById("textField1").value = "abc";
          }
      </script>
      

      【讨论】:

        【解决方案5】:

        如果文本字段没有 id 属性和 name 属性,那么,

        使用

        document.getElementsByName("name")[0].value="ert";

        getElementsByName() 返回具有该特定名称的对象数组,这就是我们使用索引 0 的原因。

        【讨论】:

          【解决方案6】:

          您的代码没有任何问题,它在this fiddle 中运行良好。

          我只是推测,但您可以尝试删除脚本标签的 type 属性,或将其更改为 type="text/javascript",这将是正确使用的类型。如果不指定,浏览器默认将其视为 JavaScript。

          【讨论】:

            【解决方案7】:

            实际上是正确的,但如果它不起作用,请尝试这样:

            document.getElementById("textfield1").innerHtml = "ABC";
            

            【讨论】:

              猜你喜欢
              • 2021-05-12
              • 2016-04-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-07-23
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多