フォームがあり、他の文字が送信されていないことを確認するために検証しようとしています。検証式がわかっていますが、ユーザーが妨害する可能性のある無効な文字を置くとfalseを返します。私が試したが、動作していないよう、また、どのような方法があるなら、私は私のコードをより効率的に助けてください検証式を使ってjavascriptでフォームを検証する
function validateForm() {
var name = document.forms["theForm"]["fname"].value;
var lastName = document.forms["theForm"]["lname"].value;
var email = document.forms["theForm"]["femail"].value;
var subject = document.forms["theForm"]["subject"].value;
if (name == "") {
\t window.alert("Missing First Name.");
\t name.focus();
\t return false;
}
if (lastName == "") {
alert("Missing Last Name");
return false;
}
if (email == "") {
alert("Missing Email");
return false;
}
if (subject == "") {
alert("Incomplete Action");
return false;
}
}
input[type=text], select, textarea {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-top: 6px;
margin-bottom: 16px;
resize: vertical;
}
input[type=submit] {
background-color: #993b3b;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #B0B0B0;
}
.formCont {
text-align: left;
margin: 152.5px 0;
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
<!DOCTYPE html>
<html>
<head>
<script>
</script>
</head>
<body>
<div class="formCont">
<form name="theForm" onsubmit="return validateForm()" method="post">
<label for="fname">First Name</label>
<input type="text" id="fname" name="firstname" placeholder="Your name..">
<label for="lname">Last Name</label>
<input type="text" id="lname" name="lastname" placeholder="Your last name..">
<label for="femail">Email</label>
<input type="text" id="femail" name="Email" placeholder="Your email.."
<label for="subject">Subject</label>
<textarea id="subject" name="subject" placeholder="Write something.." style="height:200px"></textarea>
<input type="submit" value="Submit">
</form>
</div>
</body>
</html>
質問の例である:これはJavaScriptを学習したり、実際にプロジェクトに取り組んでいるのシンプルな試みですか? 理由:コードは実際の環境で実際に動作するにはあまりにも単純すぎます。また、今日のJSの世界では、すべてを行うためにライブラリを使用する必要があります。完全にプレーンなバニラJSとCSSプロジェクトは、非常に悪い方法です。もちろん、あなたの上司は別の方法を持っていなければなりません。 – peterb
私の前のコメントに2つの簡単なことを追加してください:あなたはいつも(あるいはほとんど常に)等価チェックのために===(トリプル)と==(ダブル)を使用しません。また、メールをチェックする必要があります。 – peterb
私は大学のためのプロジェクトをやっているので、私は学んでいると思います。 – user8190367