我试图以最简单的方式验证我的表单,但是某种方式不起作用,当我点击提交时,只需将我转到下一页而不发出警告消息:
HTML:
<form name="ff1" method="post" onsubmit="validateForm();"> <input type="text" name="email" id="fremail" placeholder="your@email.com" /> <input type="text" name="title" id="frtitle" placeholder="Title" /> <input type="text" name="url" id="frurl" placeholder="http://yourwebsite.com/" /> <input type="submit" name="Submit" value="Continue" /> </form>
使用Javascript:
<script type="text/JavaScript"> function validateURL(url) { var reurl = /^(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}/; return re.test(url); } function validateForm() { // Validate URL var url = $("#frurl").val(); if (validateURL(url)) { } else { alert("Please enter a valid URL,remember including http://"); } // Validate Title var title = $("#frtitle").val(); if (title=="" || title==null) { } else { alert("Please enter only alphanumeric values for your advertisement title"); } // Validate Email var email = $("#fremail").val(); if ((/(.+)@(.+){2,}\.(.+){2,}/.test(email)) || email=="" || email==null) { } else { alert("Please enter a valid email"); } return false; } </script>
这也是在jsfiddle http://jsfiddle.net/CrLsR/
提前致谢
解决方法
那里有几个错误。
首先你必须从html标记中的函数返回值:< form name =“ff1”method =“post”onsubmit =“return validateForm();”>
首先你必须从html标记中的函数返回值:< form name =“ff1”method =“post”onsubmit =“return validateForm();”>
第二个在jsfiddle你的地方代码里面的onLoad,然后形式将不会识别 – 最后你必须返回true从功能如果所有验证成功 –
我在更新中修复了一些问题:
function validateURL(url) { var reurl = /^(http[s]?:\/\/){0,1}/; return reurl.test(url); } function validateForm() { // Validate URL var url = $("#frurl").val(); if (validateURL(url)) { } else { alert("Please enter a valid URL,}/.test(email)) || email=="" || email==null) { } else { alert("Please enter a valid email"); } return false; }