使用Javascript和ASP.NET创建动态文本框

时间:2019-07-02 13:44:44

标签: javascript html

我正在尝试创建一个JavaScript函数,该函数要求用户输入标签,然后创建带有用户输入标签的文本框。

我已经获得了要输入用户提示的代码,但是在输入后它不会创建文本框。我发现的大多数资源都告诉我使用属性innerHTML将文本添加到我的文本框中,但是似乎此属性不存在(我将MS Visual Studio用作DE)。

这是我的代码:

<script type="text/javascript">
     function addObject() {
          var element = prompt("Please enter fuel or insert ID", "");
          var box = document.createElement("TextBox");
          box.innerHTML = element;
          document.body.appendChild(box);   
     }
</script> 

<button ID="Button1" runat="server" OnClick="javascript:addObject();">Add Fuel Element</button>

如果输入的是“ abcd”,我希望创建一个带有标签“ abcd”的文本框。根本不会创建任何文本框。我没有收到任何错误消息或警告,因此我认为由于某种原因该对象未被创建。

将我的代码更新为以下内容。还是行不通。同样的问题:没有错误消息,也没有创建文本框。

    <script type="text/javascript">
        function addObject() {
           // creates new fuel or insert element
           var element = prompt("Please enter fuel or insert ID", ""); // gets element ID from user
           var box = document.createElement("textarea"); // creates element
           var textNode1 = document.createTextNode(element);
           box.appendChild(textNode1);
           document.body.appendChild(box);
     </script>

3 个答案:

答案 0 :(得分:1)

在这种情况下,您要提供的textarea是无效的标签,请为document.createElement提供要创建的标签名称作为{{3}}的参数。

TextBox

答案 1 :(得分:1)

在修改后的代码中替换

var textNode1 = document.createTextNode(element);

box.appendChild(textNode1);

使用

box.innerHTML = element;

所以 代码是:

  <body>
  <script>
      function addObject() {
            var element = prompt("Please enter fuel or insert ID", "");
            var box = document.createElement("textarea");
            box.innerHTML = element;
            document.body.appendChild(box);   
      }

  </script> 
  <button ID="Button1" runat="server" OnClick="javascript:addObject();">Add Fuel Element</button>


  </body>

答案 2 :(得分:1)

问题解决了。我原来的剧本是在体内的形式内。删除表单的两行代码,一切正常。谢谢大家!

原始代码:

$_REQUEST['REQUEST_METHOD']

工作代码:

$_SERVER['REQUEST_METHOD']