2014-05-01 84 views
-1

它曾经去,但我无法找到阻止它进入的错误我添加了额外的复选框,但是当我意识到它被破坏时,我尝试了Ctrl + Z但是没有把我带回足够多:(这个部分不再起作用“的电子邮件类型的验证,所以应该拿出该消息是警报(‘请选择什么类型的电子邮件’);”单选按钮验证Javascript accdiently

+0

你是什么意思让它走?这个对我有用。 [JsFiddle](http://jsfiddle.net/Gke8G/) – Albzi

+0

抱歉,我忘了添加实际上错误的邮件类型验证,所以应该出现的消息是alert(“请选择邮件类型“); – CJB

+0

@BeatAlex的小提琴也适合我,它也适用于你? – zeppaman

回答

0

JsFiddle

Codepen

添加此行到你的变量:

var type = document.forms["contactform"]["contactf"]; 

然后做这种检查,而不是:

else if ((type[0].checked == false) && (type[1].checked == false) && 
(type[2].checked == false) && (type[3].checked == false)) 

此外,对于您的电子邮件验证,HTML5type='email'你可以使用的输入。

请记住,仅仅因为它(有点)验证客户端,并不意味着有足够的知识的人可以绕过它。确保之后,你也验证了所有这个服务器端。

+0

谢谢,所以我必须删除我以前的原始var类型,经验教训不要做编码时,你有一个讨厌的冷大声笑 – CJB

0

JS不应该用于验证,因为它比它更值得一试。

观察:

你的“电子邮件验证”只是简单地检查“它有东西的@之前,和一个点至少一个字符后的@”。那么...我很确定@@@...不是一个有效的电子邮件地址!

改为:<input type="email" /> - 尝试在上输入无效的电子邮件地址


同理:

<input type="radio" name="fish" value="1" required /> 
<input type="radio" name="fish" value="2" /> 
<input type="radio" name="fish" value="3" /> 

请注意,您只需要把“需要”,在其中的一个 - 你可以做所有这些,如果你想要的,但它是没有必要的。

以这种方式使用HTML5表格,您可以删除所有验证JavaScript。当然,您必须在服务器上进行验证。否则,人们可以提交任何他们想要的东西,如果他们绕了一下 - JavaScript无法挽救你。