我正在嘗試使用完整的「驗證窗體」功能。我唯一缺少的兩件事情:使用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