Javascript 我如何声明onclick处理程序有什么问题吗?
由于某些原因,我无法使警报框(作为测试添加)正确显示。该函数似乎根本不执行。你认为我做错了什么Javascript 我如何声明onclick处理程序有什么问题吗?,javascript,xhtml,Javascript,Xhtml,由于某些原因,我无法使警报框(作为测试添加)正确显示。该函数似乎根本不执行。你认为我做错了什么 我的代码位于btw/结果。提前感谢您的输入 您的代码中有许多错误 使用JSLint测试代码后,我发现了以下错误: 错误:第2行出现问题字符22:使用数组文字符号[]。var x=新数组() 第9行第22个字符出现问题:使用数组文字符号[]。变量 h=新数组() 第10行第24个字符出现问题:缺少分号。h[0]=” 第11行第12个字符出现问题:红色语句上的标签“颜色”。 颜色:红色 第11行的问题字符
我的代码位于btw/结果。提前感谢您的输入 您的代码中有许多错误
使用JSLint测试代码后,我发现了以下错误: 错误:第2行出现问题字符22:使用数组文字符号[]。var x=新数组() 第9行第22个字符出现问题:使用数组文字符号[]。变量 h=新数组() 第10行第24个字符出现问题:缺少分号。h[0]=” 第11行第12个字符出现问题:红色语句上的标签“颜色”。 颜色:红色 第11行的问题字符12:应为赋值或函数 打电话时,他看到了一个表情 第12行的问题字符5:应为赋值或函数 调用并看到一个表达式。“>请键入一个名称!“ 第13行第24个字符出现问题:缺少分号。h[1]=” 第14行的问题字符12:“颜色”已定义。颜色: 红色 第14行第12个字符出现问题:红色语句上的标签“颜色”。 颜色:红色 第14行的问题字符12:应为赋值或函数 打电话时,他看到了一个表情。颜色:红色 第15行的问题字符5:应为赋值或函数 打电话时,他看到了一个表情。“>您必须键入最后一个 “名字!” 第16行第24个字符出现问题:缺少分号。h[2]=” 第17行的问题字符12:“颜色”已定义。颜色: 红色 第17行第12个字符出现问题:红色语句上的标签“颜色”。 颜色:红色 第17行的问题字符12:应为赋值或函数 打电话时,他看到了一个表情 第18行的问题字符5:应为赋值或函数 调用并看到一个表达式。“>您必须键入有效的电子邮件 住址!“ 第19行第24个字符出现问题:缺少分号。h[3]=” 第20行的问题字符12:“颜色”已定义。颜色: 红色 第20行的问题字符12:红色语句上的标签“颜色”。 颜色:红色 第20行的问题字符12:应为赋值或函数 打电话时,他看到了一个表情。颜色:红色 第21行的问题字符5:应为赋值或函数 打电话时,他看到了一个表情。“>您必须键入a 密码!“ 第22行第24个字符出现问题:缺少分号。h[4]=” 第23行的问题字符12:“颜色”已定义。颜色: 红色 第23行第12个字符出现问题:红色语句上的标签“颜色”。 颜色:红色 第23行的问题字符12:应为赋值或函数 打电话时,他看到了一个表情 第24行的问题字符5:应为赋值或函数 调用并看到一个表达式。“>您必须确认 密码!“ 第26行的问题字符26:使用数组文字符号[]。 var divs=新数组(“mname”、“mlname”、“memail”、“mpassword”, “mconfirm”) 第26行的问题字符26:使用数组文字符号[]。 var divs=新数组(“mname”、“mlname”、“memail”、“mpassword”, “mconfirm”) 第26行出现问题字符26:停止,无法继续。(72% 扫描)
一个明显的问题是字符串常量中的引号导致语法错误。例如
h[0] = "<span style="color:red;">Please type a name!</span>";
h[0]=“请键入一个名称!";
应该是
h[0] = "<span style=\"color:red;\">Please type a name!</span>";
h[0]=“请键入一个名称!";
或
h[0]=“请键入一个名称!”;
var h=new Array();
应该是var h=[];
h[0]=“请键入一个名称!“;
是无效语法-您希望它如何知道哪个”
是用来终止字符串的?使用style='color:red'
(单引号)用于(x中的i)
返回false
停止表单提交到服务器主要问题实际上在于定义错误范围的方式,例如:
h[0] = "<span style="color:red;">Please type a name!</span>";
h[0]=“请键入一个名称!”;
这会导致语法错误,因为样式周围的引号未被转换,导致它们结束字符串。这破坏了整个功能。逃离它们会让你走很长的路:
h[0] = "<span style=\"color:red;\">Please type a name!</span>";
h[0]=“请键入一个名称!”;
但是您还需要检查基恩的答案。在
''
更改为''
h[0]=“请键入一个名称!”;
h[1]=“您必须键入姓氏!”;
h[2]=“您必须键入有效的电子邮件地址!”;
h[3]=“您必须键入密码!”;
h[4]=“您必须确认密码!”;
试试这个方法instead@Philip. 他在代码中有错误…@gdoron是的,从你的回答看来是这样。这些不全是错误,它们是建议,你列出所有这些问题无助于找出真正的问题(未替换的引号)@JuanMendes。对,我的意思是让他知道,面对面地用jslint测试代码可以给你答案。(+最佳实践)Re:2,我已经阅读了你的链接。我仍然不明白为什么我应该避免使用for(I in x)
。从这个链接:“for in语句的目的是枚举对象属性,这个语句将在原型链中上升,枚举继承的属性,这有时是不需要的。还有,它的顺序
h[0] = "<span style=\"color:red;\">Please type a name!</span>";
h[0] = "<span style='color:red;'>Please type a name!</span>";
h[1] = "<span style='color:red;'>You must type a last name!</span>";
h[2] = "<span style='color:red;'>You must type a valid email address!</span>";
h[3] = "<span style='color:red;'>You must type a password!</span>";
h[4] = "<span style='color:red;'>You must confirm the password!</span>";