使用Javascript提示动态创建table(不起作用)
Using Javascript prompts to dynamically create table (not working)
这是我目前的情况,但它甚至没有提示用户,它显示了一条细黑线(我认为是边框)
<html>
<head>
<meta charset = "utf-8">
<title>Dynamically creating a table</title>
</head>
<body>
<table style = "width:100%" cellspacing="5" border="2">
<script type = "text/javascript">
var running = true; //boolean to determine if we should continue running
while(running) {
var i = 0;
var input; //variable that holds the input values
input = window.prompt("Please enter your product number then quantity sold, seperated by a comma. Hit Enter when you are done.");
var split;
var num1;
var num2;
if(input != "") {
split = input.split(',');
num1 = split[0];
num2 = 0;
if(split.length > 1) {
num2 = split[1].trim();
}
}
switch(num1) {
case 1:
// unimportant calculations
break;
case 2:
// unimportant calculations
break;
default:
document.writeln("<tr>");
document.writeln("<td>text</td>");
document.writeln("<td>text</td>");
document.writeln("</tr>");
document.writeln("<tr>");
document.writeln("<td>text1</td>");
document.writeln("<td>text2</td>");
document.writeln("<td>text3</td>");
document.writeln("</tr>");
running = false;
}
}
</script>
</table>
</body>
</html>
我试过在头部和 body 中都包含它,我也试过在脚本中和脚本外声明 table 标签。
您的代码有一些错误,例如:
<table style = "width:100%" cellspacing="5" border="2">
你不能把html像table这样的代码放在head里面,你需要把它写在body上。
var input[i]; //variable that holds the input values
您不能定义包含键的变量。正确的方法是:
var input = [];
其他
switch(num1):
// ... code
正确的方法是:
switch(num1) {
// ... code
}
您可以使用 html validator 检查 html 错误,如果您使用的是 Firefox 或 Chrome 等现代浏览器,则可以访问 javascript 错误,按f12.
您的代码有几个 javascript 错误。尝试从以下开始:
<html>
<head>
<meta charset = "utf-8">
<title>Dynamically creating a table</title>
<table style = "width:100%" cellspacing="5" border="2">
<script type = "text/javascript">
var running = true; //boolean to determine if we should continue running
while (running) {
var input = window.prompt("Please enter your two numbers seperated by a comma.");
var split = input.split(',');
var num1= split[0];
var num2= input[1];
switch(num1) {
case '1':
document.writeln("<tr>");
document.writeln("<td>text</td>");
document.writeln("<td>text</td>");
document.writeln("</tr>");
case '2':
document.writeln("<tr>");
document.writeln("<td>text1</td>");
document.writeln("<td>text2</td>");
document.writeln("<td>text3</td>");
document.writeln("</tr>");
case '99':
running = false;
}
}
</script>
</table>
</head>
<body>
</body>
</html>
这是我目前的情况,但它甚至没有提示用户,它显示了一条细黑线(我认为是边框)
<html>
<head>
<meta charset = "utf-8">
<title>Dynamically creating a table</title>
</head>
<body>
<table style = "width:100%" cellspacing="5" border="2">
<script type = "text/javascript">
var running = true; //boolean to determine if we should continue running
while(running) {
var i = 0;
var input; //variable that holds the input values
input = window.prompt("Please enter your product number then quantity sold, seperated by a comma. Hit Enter when you are done.");
var split;
var num1;
var num2;
if(input != "") {
split = input.split(',');
num1 = split[0];
num2 = 0;
if(split.length > 1) {
num2 = split[1].trim();
}
}
switch(num1) {
case 1:
// unimportant calculations
break;
case 2:
// unimportant calculations
break;
default:
document.writeln("<tr>");
document.writeln("<td>text</td>");
document.writeln("<td>text</td>");
document.writeln("</tr>");
document.writeln("<tr>");
document.writeln("<td>text1</td>");
document.writeln("<td>text2</td>");
document.writeln("<td>text3</td>");
document.writeln("</tr>");
running = false;
}
}
</script>
</table>
</body>
</html>
我试过在头部和 body 中都包含它,我也试过在脚本中和脚本外声明 table 标签。
您的代码有一些错误,例如:
<table style = "width:100%" cellspacing="5" border="2">
你不能把html像table这样的代码放在head里面,你需要把它写在body上。
var input[i]; //variable that holds the input values
您不能定义包含键的变量。正确的方法是:
var input = [];
其他
switch(num1):
// ... code
正确的方法是:
switch(num1) {
// ... code
}
您可以使用 html validator 检查 html 错误,如果您使用的是 Firefox 或 Chrome 等现代浏览器,则可以访问 javascript 错误,按f12.
您的代码有几个 javascript 错误。尝试从以下开始:
<html>
<head>
<meta charset = "utf-8">
<title>Dynamically creating a table</title>
<table style = "width:100%" cellspacing="5" border="2">
<script type = "text/javascript">
var running = true; //boolean to determine if we should continue running
while (running) {
var input = window.prompt("Please enter your two numbers seperated by a comma.");
var split = input.split(',');
var num1= split[0];
var num2= input[1];
switch(num1) {
case '1':
document.writeln("<tr>");
document.writeln("<td>text</td>");
document.writeln("<td>text</td>");
document.writeln("</tr>");
case '2':
document.writeln("<tr>");
document.writeln("<td>text1</td>");
document.writeln("<td>text2</td>");
document.writeln("<td>text3</td>");
document.writeln("</tr>");
case '99':
running = false;
}
}
</script>
</table>
</head>
<body>
</body>
</html>