何らかの理由で、送信ボタンをクリックすると、validate() 関数を参照していないようです。コンソールに表示されないだけかもしれませんが、送信ボタン/検証機能に間違いがあります。正しい onSubmit 構文を調べたところ、validate() 関数が機能しているように見えますが、送信ボタンをクリックしても何も起こりません。すべての提案は大歓迎です。
html5 コード:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<title></title>
</head>
<body>
<form onSubmit="return validate()">
First name: <input id = "firstName" type="text" name="firstname" value=""><br/>
Last name: <input id = "lastName" type="text" name="lastname" value="last name"><br/>
<div class = "text"><textarea>(Optional Bio)</textarea>
<p></p> <input type="radio" id = "python">Master Race Python User
<p></p> <input type="radio" id = "ruby">Imperial Ruby Scum
</div>
<div class = "languages">
<h3>Languages Known</h3>
<input type="checkbox">Python
<input type="checkbox">Ruby
<input type="checkbox">html
<input type="checkbox">CSS
<input type="checkbox">Javascript
<input type="checkbox">jQuery
<input type="checkbox">Other
<input type="checkbox" checked>Filthy casual
<p><input type ="submit"></p>
</div>
</form>
</body>
</html>
CSS:
.text {
background-color:#00ffff;
border:solid black;
border-radius:3%;
box-shadow: 5px 5px 5px
}
.languages {
background-color:#FFFF33;
border:solid black;
border-radius:15%;
box-shadow: 5px 5px 5px;
margin-top:10px;
}
#check {
background-color:#ABCDEF;
border:solid black;
width:50px;
margin-left:200px;
margin-top:10px;
}
#response {
background-color:#FEDCBA;
}
JavaScript/jquery:
$(document).ready(function(){
function checkFirstname() {
var username=$("#firstName").val();
var namePat = /^[a-z]{2,16}$/i;
var nameTest = namePat.test(username);
if(!nameTest) {
alert("First name may only contain letters and numbers, and must be 2-16 characters in length.");
return false;
}
return true;
}
function checkLastname() {
var username=$("#firstName").val();
var namePat = /^[a-z]{2,16}$/i;
var nameTest = namePat.test(username);
if(!nameTest) {
alert("Last name may only contain letters, and must be 2-16 characters in length.");
return false;
}
return true;
}
function checkSide() {
var python = document.getElementById("python").checked;
var ruby = document.getElementById("ruby").checked;
if(!python && !ruby) {
alert("Please select a side");
return false;
}
return true;
}
function validate() {
if(checkFirstname() === false) {
return false;
}
if(checkLastName() === false) {
return false;
}
if(checkSide() === false) {
return false;
}
return true;
}
})