我正在尝试使用完整的“验证窗体”功能。我唯一缺少的两件事情:使用JavaScript验证文本字段和复选框
- 要限制名称字段只字母字符和空格
- 为了验证至少有一个复选框被选中,最大的7个复选框允许
这是我到目前为止...复选框验证似乎被绕过,我不确定是否因为我没有在“onSubmit”中调用函数....这就是为什么我想要“one”full code,
至于名称验证,我是不知道如何将此代码放置在validateform3函数 内或至少将其与表单关联,复选框验证也是如此。
名称验证JS
function englishonly(inputtxt)
{
var letters = /^[A-Za-z]+$/;
if(inputtxt.value.match(letters))
{
return true;
}
else
{
alert('Please type your name in english');
return false;
}
}
JAVASCRIPT
<script type="text/javascript">
function validateForm3() {
if (studentid.value == "")
{
studentid.style.borderColor = '#ff0000';
alert("Please enter your Student ID");
studentid.focus();
return false;
}
var x=document.forms["form3"]["studentid"].value;
if (! /^[0-9]{11}$/.test(x)) {
studentid.style.borderColor = '#ff0000';
studentid.style.backgroundColor = "#fdf0af";
alert("The Student ID you entered is incorrect.");
return false;
}
if (Email.value == "")
{
Email.style.borderColor = '#ff0000';
alert("Please enter your e-mail");
Email.focus();
return false;
}
var x=document.forms["form3"]["Email"].value;
if (x.indexOf("@")=== -1)
{
Email.style.borderColor = '#ff0000';
Email.style.backgroundColor = "#fdf0af";
alert("Please enter a valid email");
return false;
}
if (Name.value == "")
{
Name.style.borderColor = '#ff0000';
alert("Please enter your Name in English");
Name.focus();
return false;
}
}
</script>
<script type="text/javascript">
$(document).ready(function() {
$("#Regestir").click(function() {
var numberOfChecked = $('input:checkbox:checked').length;
// $.isNumeric($("#studentid").val())
if($("#studentid").val()!="" && $("#studentid").val()!="" && $("#Email").val()!="" && $("#Name").val()!="")
{
if (numberOfChecked == 0 || numberOfChecked>7)
{
alert("Only 7 courses are allowed.");
$("form").submit(function(e){
e.preventDefault();
});
}
else
$("form").unbind('submit').submit();
//$("#form3").submit();
}
else
{
alert ("You should enter all form values");
$("form").submit(function(e){
e.preventDefault();
});
}
});
});
</script>
HTML
<form action="connect.php" method="get" id="form3"
name="form3" onsubmit="return validateForm3()">
我想你的建议,也没有工作,我仍然可以提交表单不选择任何复选框,至于名字...我做了以下操作,我在“单独的js标签”下插入了名称脚本,并以与您建议它不起作用的相同方式(我放置了正确的ID名称)进行了调用...这里是一个预览..(http:/ /i.imgur.com/5RSr6NF.png)和(http://i.imgur.com/2PnxhG6.png) – Azizi 2014-09-19 15:39:27
更改为'$('input:checkbox [/ code]后,'numberOfChecked'的值是多少?名=类型]:检查')length'。? – 2014-09-19 16:52:49
该值是一个变量,我使用数组作为复选框 name =“ckb []”value =“john”... name =“ckb []”value =“edward”.... etc – Azizi 2014-09-19 16:55:13