使用Javascript提示动态创建表(不工作)
这是我到目前为止所做的,但它甚至没有提示用户,它显示了一条细黑线(我认为这是边框)使用Javascript提示动态创建表(不工作),javascript,html,html-table,Javascript,Html,Html Table,这是我到目前为止所做的,但它甚至没有提示用户,它显示了一条细黑线(我认为这是边框) 动态创建表 var running=true//用于确定是否应继续运行的布尔值 (跑步时){ var i=0; var input;//保存输入值的变量 输入=窗口。提示(“请输入产品编号,然后输入销售数量,用逗号分隔。完成后按enter键”); var分割; var num1; var num2; 如果(输入!=“”){ split=input.split(','); num1=分割[0]; num2=0;
动态创建表
var running=true//用于确定是否应继续运行的布尔值
(跑步时){
var i=0;
var input;//保存输入值的变量
输入=窗口。提示(“请输入产品编号,然后输入销售数量,用逗号分隔。完成后按enter键”);
var分割;
var num1;
var num2;
如果(输入!=“”){
split=input.split(',');
num1=分割[0];
num2=0;
如果(拆分长度>1){
num2=拆分[1]。修剪();
}
}
开关(num1){
案例1:
//不重要的计算
打破
案例2:
//不重要的计算
打破
违约:
文件。书面形式(“”);
书面文件(“文本”);
书面文件(“文本”);
文件。书面形式(“”);
文件。书面形式(“”);
书面文件(“文本1”);
书面文件(“文本2”);
书面文件(“文本3”);
文件。书面形式(“”);
运行=错误;
}
}
我尝试将其包含在头部和正文中,还尝试在脚本中和脚本外部声明表标记。您的代码中有一些错误,例如:
<table style = "width:100%" cellspacing="5" border="2">
不能定义包含键的变量。正确的方法是:
var input = [];
switch(num1) {
// ... code
}
其他
正确的方法是:
var input = [];
switch(num1) {
// ... code
}
您可以使用检查html错误,如果您使用的是Firefox或Chrome等现代浏览器,则可以按f12键访问javascript错误。您的代码有几个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>
动态创建表
var running=true//用于确定是否应继续运行的布尔值
(跑步时){
var input=window.prompt(“请输入用逗号分隔的两个数字”);
var split=input.split(',');
var num1=分割[0];
var num2=输入[1];
开关(num1){
案例“1”:
文件。书面形式(“”);
书面文件(“文本”);
书面文件(“文本”);
文件。书面形式(“”);
案例“2”:
文件。书面形式(“”);
书面文件(“文本1”);
书面文件(“文本2”);
书面文件(“文本3”);
文件。书面形式(“”);
案例'99':
运行=错误;
}
}
这是一个语法错误:var输入[i]代码>-脚本的执行将在该行停止。如果打开浏览器的开发人员控制台并刷新页面,您应该会看到一条关于它的错误消息。另外,您的switch
语句的语法不正确(一旦您想为每种情况添加一些break
语句)。即使这样,它也只能工作一次,逻辑需要一些修改。谢谢,这在很多方面帮助了我,我现在运行我的代码,它接受输入,但它在第一次输入之后就吐出了表。我用清理过的代码更新了原来的帖子。谢谢,这帮助了我完成上面的帖子。我已经更新了我的代码,现在正在运行。但是,它在第一次输入之后就吐出了一个表。我还想知道,有没有一种方法可以在浏览器中一步一步地执行脚本?您可以添加行调试器代码>在一行之后,如果您启用了开发人员工具(使用F12键),则此操作有效
<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>