使用js在网页上显示错误的问题

时间:2009-07-08 14:16:20

标签: javascript html

我创建了一个网页,其中我有一些输入框和一个

中的提交按钮
<form action="" method="post" name="password">

单击提交按钮,它会调用js函数,该函数检查密码是否相同,如果不是则显示错误

if (passwrd1!=passwrd2)
{
document.getElementById("response").innerHTML="<font color='red'>Passwords do not match</font>";
}

它显示错误:

<div id="response" align="center">Response from js</div>

但问题是,它显示了该功能,然后返回相同的“来自js的响应”。

我该怎么做才能解决这个问题?

最佳

Zeeshan

2 个答案:

答案 0 :(得分:5)

您是否从提交按钮的点击功能返回false以防止它实际发回该表单?

if (passwrd1 != passwrd2)
{
    document.getElementById("response").innerHTML = "Passwords don't match";
    return false;
}

因为您提供的代码数量很少,所以您的表单无论如何都会被回发。

答案 1 :(得分:1)

你的if语句中需要return false;,因为即使语句被命中,表单也会被发布。 return false将停止发布表单并显示消息。

即使它不是问题的一部分,我也会建议您不要使用<font> - 元素,因为它已被弃用,而不仅仅是显示一些红色文本的好方法。您可以在文本颜色设置为红色的范围内输出错误消息,如下所示:

document.getElementById("response").innerHTML = "<span style=\"color: red;\">Message</span>";

没有多大区别,但遵循网络标准总是一件好事。

举一个例子来说明评论中的内容,你最好定义一个类并使用CSS设置样式。

.errormsg { color: red; }

document.getElementById("response").innerHTML = "<span class=\"errormsg\">Message</span>";

结果是一样的,但正如评论中所述;它更容易维护,因此是更好的解决方案。