Javascript 开始标签";分区;见「;表「;错误及;div不';我什么也看不出来

Javascript 开始标签";分区;见「;表「;错误及;div不';我什么也看不出来,javascript,html,Javascript,Html,我在网络开发方面是个新手 当用户从下拉框中选择任何选项时,我试图创建多个输入框(这样它将是动态的) 然而,当我单击时,我只收到用于测试目的的弹出消息,但我没有看到任何输入框。另外,当我检查我的源代码页时,我的HTML页面在我放置的地方出错(这是我的输入框应该显示的地方)。我收到的错误消息是在“表”错误中看到的开始标记“div”。。。我假设由于这个错误,程序无法显示输入框。我试图在谷歌上寻找答案,但我仍然无法解决这个问题 请让我知道如何修复此错误 任何帮助都将不胜感激…提前感谢 <!DOCT

我在网络开发方面是个新手

当用户从下拉框中选择任何选项时,我试图创建多个输入框(这样它将是动态的)

然而,当我单击时,我只收到用于测试目的的弹出消息,但我没有看到任何输入框。另外,当我检查我的源代码页时,我的HTML页面在我放置
的地方出错(这是我的输入框应该显示的地方)。我收到的错误消息是在“表”错误中看到的开始标记“div”。。。我假设由于这个错误,程序无法显示输入框。我试图在谷歌上寻找答案,但我仍然无法解决这个问题

请让我知道如何修复此错误

任何帮助都将不胜感激…提前感谢

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <title>Run test Script</title>
        <script type="text/javascript">

        function createInputs() {
        alert('writing inputs'); //Test....this message shows...when i change
        var value = document.getElementById("test").value; // this gives you the selected value.
        var split = value.split;
        var splitsize = split.length;
        var code = '';
        for (var j=0; j<splitsize; j++){
            var a = "<input type = 'text' name = '" + split[j] + "' id = '" + split[j] + "'>";
            code += a;
        }
        document.getElementById("inputBox").innerHTML = code;
   }

        </script>
    <body>
        <form action="./runtest?host=11.111.11.11&envname=XP" method="post" name="testForm">  
        <table border="0">
        <tr style="font-weight: bold; font-size: 16px;">
            <td>Environment Name: </td>
            <td>XP</td>
        </tr> 
        <tr>
            <td>Select user name :</td>
            <td><select id="userName" name="userName">
                <option value="user">user</option>
                <option value="guest">guest</option>
                </select>
            </td>
         </tr>
         <tr>
            <td>Enter Password :</td>
            <td>                               

            <input id="pass" type="password" name="password">

         </tr>
         <tr>
            <td>Select test : </td>
            <td><select id="testname" name="testname" onchange="createInputs()">
                <option value="" name=""></option>
                <option value="size" name="startup">startup</option>

                <option value="size" name="Performance">Performance</option>

                <option value="" name="reboot">reboot</option>

                <option value="size,time" name="fetch event">fetch event</option>
                </select></td>
         </tr>
         <tr>
             <td></td>
             <div id = "inputBox"></div>   //*************Error message here ***********
        </tr>
         <tr>
                <td> Enter test User: </td>
                <td><input type="text" id="tuser"></td>
         </tr>
         <tr>
                <td> Enter Test Date: </td>
                <td><input type="text" id="tdate"></td>
         </tr>
          </table>
          <br>
          <input type="submit" value="Run" name="Run">&nbsp;&nbsp;
          <input type="button" value="Close" onclick="window.close()"> &nbsp;&nbsp;
          </form>
    </body>
</html>

运行测试脚本
函数createInputs(){
警报('writing inputs');//测试…当我更改时,此消息显示
var value=document.getElementById(“test”).value;//这将为您提供所选的值。
var split=value.split;
var splitsize=split.length;
var代码=“”;

对于(var j=0;j,问题是您不能将
div
元素直接嵌套在
tr
元素中。事实上,我非常确定您可以“正式”用作
tr
元素的直接子元素的唯一元素是

尝试用
td
元素来包装
div
元素

<tr>
    <td></td>
    <td>
        <div id = "inputBox"></div>
    </td>
</tr>

因此,问题是您不能将
div
元素直接嵌套在
tr
元素中。事实上,我非常确定您可以“正式”用作
tr
元素的直接子元素的元素只有

尝试用
td
元素来包装
div
元素

<tr>
    <td></td>
    <td>
        <div id = "inputBox"></div>
    </td>
</tr>

//*************这里有错误消息***********
您需要将div添加到
标记中。


//*************这里有错误消息***********
您需要将div添加到
标记中。

您的脚本将执行

document.getElementById("compname")
..但我看不到id为
compname
的元素。我看到一个id为
testname
的元素,您的脚本将执行该元素

document.getElementById("compname")

…但我看不到id为
compname
的元素。我看到的元素是
testname
解决此问题的最快方法是打开Google Chrome并在执行此代码时查看开发人员工具和控制台

问题1:document.getElementById(“compname”)为空,需要更改为document.getElementById(“testname”)

问题2:split是一个方法,需要传递一个分隔符。因此,它必须是value.split(“,”),而不是value.split

请注意,您的重新启动选项可能无法正常工作,因为您的值为空


编辑:正如其他人所指出的,您还应该在

验证您的HTML。解决此问题的最快方法是打开Google Chrome,并在执行此代码时查看开发人员工具和控制台

问题1:document.getElementById(“compname”)为空,需要更改为document.getElementById(“testname”)

问题2:split是一个方法,需要传递一个分隔符。因此,它必须是value.split(“,”),而不是value.split

请注意,您的重新启动选项可能无法正常工作,因为您的值为空


编辑:正如其他人所指出的,你也应该在

jsbin验证你的HTML:我不知道有这样的工具谢谢!jsbin:我不知道有这样的工具谢谢!谢谢回复!是的,它确实消除了错误消息…但是,它仍然没有创建我希望的输入框…:(@user1516649:为此,您将希望使用标记而不是
div
谢谢您的回复!是的,它确实消除了错误消息…但是,它仍然没有创建我希望的输入框…:(@user1516649:为此,您将希望使用标记而不是
div
看起来像一个简单的“打字错误”从OP来看,似乎他编辑了错误看起来像是OP中的一个简单的“打字错误”,似乎他编辑了错误
var value = document.getElementById("testname").value;
var split = value.split(",");