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