0

出于某种原因,我无法正确显示警报框(作为测试添加)。该功能似乎根本没有执行。你对我做错了什么有什么看法?

我的代码位于此处,附带结果。感谢您提前输入!

4

5 回答 5

5

一个明显的问题是由于字符串常量中的引号导致的语法错误。例如,

h[0] = "<span style="color:red;">Please type a name!</span>";

应该

h[0] = "<span style=\"color:red;\">Please type a name!</span>";

或者

h[0] = '<span style="color:red;">Please type a name!</span>';
于 2012-04-29T06:02:48.120 回答
3
  1. var h = new Array();应该只是var h = [];

  2. h[0] = "<span style="color:red;">Please type a name!</span>";是无效的语法 - 你如何期望它知道"终止字符串的意思?使用style='color:red'(单引号)。

  3. for(i in x) 不应该使用

  4. 如前所述,绑定到表单的提交事件而不是按钮单击。并且不要为此使用内联处理程序,使用事件侦听器。

  5. 如果出现错误,您的处理程序需要return false;阻止表单提交到服务器。

  6. 阅读gdoron 的答案并使用 JSLint。

于 2012-04-29T06:05:11.570 回答
1

您的代码中有很多错误!
在用 JSLint 测试你的代码后,我得到了这些错误:

错误:第 2 行字符 22 处的问题:使用数组文字符号 []。var x = 新数组();

第 9 行字符 22 处的问题:使用数组文字符号 []。var 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 处的问题:需要一个赋值或函数调用,而是看到一个表达式。">您必须输入密码!";

第 22 行字符 24 处的问题:缺少分号。h[4] = "

第 23 行字符 12 处的问题:“颜色”已定义。红色;

第 23 行字符 12 处的问题:红色语句上的标签“颜色”。红色;

第 23 行字符 12 处的问题:需要一个赋值或函数调用,而是看到一个表达式。红色;

第 24 行字符 5 处的问题:需要赋值或函数调用,但看到的是表达式。">您必须确认密码!";

第 26 行字符 26 处的问题:使用数组文字符号 []。var divs = new Array("mname", "mlname", "memail", "mpassword", "mconfirm");

第 26 行字符 26 处的问题:使用数组文字符号 []。var divs = new Array("mname", "mlname", "memail", "mpassword", "mconfirm");

第 26 行字符 26 处的问题:正在停止,无法继续。(72% 扫描)。

于 2012-04-29T06:01:21.630 回答
1

There are errors in these lines in "" change to ''

     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>";
于 2012-04-29T06:05:59.183 回答
0

主要问题实际上在于您定义错误范围的方式,例如:

h[0] = "<span style="color:red;">Please type a name!</span>";

This is causing a syntax error because the quotes around the style are unescaped, causing them to end the string. That breaks the entire function. Escaping them will get you a long way:

h[0] = "<span style=\"color:red;\">Please type a name!</span>";

But you will also need to check keune's answer.

于 2012-04-29T06:05:33.193 回答