ユーザーがsubmit
にヒットしたときにnameVerification()
関数がalert()
メッセージをスローするようにします。たとえば、ユーザがname
フィールドに45
のような名前を入力した場合、関数内のalert
を呼び出すとします。今、ユーザーがname
フィールドに数字を入力すると、formSubmission()
関数のalert()
が呼び出されています。アラートが自分の機能の1つで機能しないのはなぜですか?
サイドノート: formSubmission
機能は完全に機能します。つまり、ユーザがage
フィールドに数字< 13を入力すると、機能alert()
が問題なく正常に呼び出されます。ユーザーが13を超える数値を入力すると、問題なく動作します。ちょうど私もあなたにもそれを知ってもらえると思った。
signUp.html
<!DOCTYPE html>
<html>
<head>
<title>Signup Form</title>
<script type="text/javascript" src="signUp.js"></script>
</head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="signUp.css">
<body>
<form class="col-md-4 col-md-offset-4" name="formHandler" id="handle">
<div class="moveUsername">
<label for="usr">Name:</label>
<input type="field" class="form-control" id="nameVerify" placeholder="Username" required="required">
</div>
<div class="ageMovement">
<label for="usr" >Age (Must be 13 years or older to play):</label>
<input type="field" class="form-control" id="ageVerify" name="ageChecker" placeholder="Age" required="required">
</div>
<button type="submit" class="btn btn-default" onclick="formSubmission()" onclick="nameVerification()">Submit</button>
</form>
</body>
</html>
signUp.js
function nameVerification() {
var name = document.getElementById("nameVerify").value;
if(typeof name !== 'string') {
alert("That's not a name!");
}
}
function formSubmission() {
var age = document.getElementById("ageVerify").value;
if(age < 13) {
alert("You're too young, you can't play the game");
}
}
を? 'onclick =" formSubmission(); nameVerification() "' –
また、 'name'変数は常にstring型であるため、nameVerification ()が実行されます。あなたは空の文字列 – IAmDranged