无法使用javascript在onclick()上添加新文本框并禁用元素

时间:2013-04-09 12:52:06

标签: javascript html

在调用onclick事件后,我无法添加新的输入框,是否可以在输入框出现后禁用选择选项?我很抱歉这样一个noob问题,但我在这里已经走到了尽头,试了一个小时。请将我链接到一个我可以通过示例轻松学习JS的地方。

   <script>
    function funcGet(val)
    {
      if(val=="Create new category")
      {
         var element = document.createElement("input");
         element.setAttribute("type", "input");
         element.setAttribute("name", "new_cat");
         var foo = document.getElementById("cat");
         foo.appendChild(element);
       }
    }
    </script>
    <div name="cat">
    <form method="post" action="">
    <input type="text" placeholder="Enter a topic name" name="word"><br/>
    <select name = "category" onchange="funcGet(this.value);">
    <?php
       displayCat();
    ?>
    </select>
    </div>
    <select name = "site_type">
    <?php
       displaySitetype();
    ?>
    </select>
    <input type="submit" value="Submit data">
    </form>

4 个答案:

答案 0 :(得分:0)

这里

var foo = document.getElementById("cat");正在提供空

不存在标识为cat

的元素

错误是:TypeError:foo is null

答案 1 :(得分:0)

改变这个:

<div name="cat">

对此:

<div id="cat">

答案 2 :(得分:0)

尝试将<div name="cat">更改为

<div id="cat">

.getElementById仅适用于ID,

,如

document.getElementById("cat");

如果您想离开<div name="cat">,请改为使用.getElementsByTagName[0]

作为一个通过示例学习JavaScript的链接,我推荐W3Schools JavaScript Tutorial,因为它们可以让您在他们的网站上学习代码。熟悉后,您可以参考Mozilla Developer Network

答案 3 :(得分:0)

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title>
    Untitled Document
  </title>
  <script>

    function generateRow() {
      var d=document.getElementById("div");
      d.innerHTML+="<td><input type='text'<td><input type='text'<td><input type='text' name='food'name='food'name='food'name='food'>";
    }
  </script>
  </head>
  <body>
    <form id="form1" name="form1" method="post" action="">
      <label>

        <input name="food" type="text" id="food" />
      </label>
      <td>
        <input name="food" type="text" id="food" />
      </td>
      <td>
        <input name="food" type="text" id="food" />
      </td>
      <div id="div">
      </div>
      <td>
        <input type="button" value="Add" onclick="generateRow()"/>
      </td>
      <td>
        <label>
          <input type="submit" name="Submit" value="Submit" />
        </label>
      </td>
    </form>
  </body>