フォームで検証をほとんど試行しようとしていますが、これはマークまでではありません。私は名前のエラーメッセージメッセージを隠し、電子メールエラーだけを表示する必要があります。しかし、それは起こっていません。多分あなたはコードから理解するでしょう。部分的な検証が実行されました
ここにあります。
function validateform(form){
event.preventDefault();
console.log(form);
var i;
var fname = form.name.value;
var email = form.email.value;
var message = form.getElementsByClassName("error-message");
var atpos = email.indexOf("@");
var dotpos = email.lastIndexOf(".");
if (fname==null || fname==""){
for (i = 0; i < message.length;i++)
{
form.getElementsByClassName("error-message")[i].innerHTML="Please Enter Name";
return false;
}
}
else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=email.length) {
for (i = 0; i < message.length;i++)
{
form.getElementsByClassName("error-email")[i].innerHTML="The email address you've entered contains an incorrect character. Please check this information and try again.";
return false;
}
}
else if (fname!=null || fname!=""){
for (i = 0; i < message.length;i++)
{
form.getElementsByClassName("error-message")[i].style.display = "none";
return false;
}
}
HTMLは
<form name="ccform" method="post" onsubmit="validateform(this)">
<p class="customer-name">Name</p>
<input type="text" class="input-name" name="name"></input>
<p class="error-message"></p>
<p class="customer-name">Email</p>
<input type="text" class="input-name" name="email" placeholder="e.g. [email protected]"></input>
<p class="error-email"></p>
<button type="submit" class="submit-button">Submit</button>
</form>
私は、エラー・メッセージを非表示にすると、名前が入力されているだけのエラーメールを表示し、電子メールが入力されていないと私は送信ボタンを押してください。
P.S:jQueryを使用しないでください。
私はこれを試してみましたが、今、この条件は、次の手順を実行する場合は満足doesnot: 1.入力した名前を入力し、を押します。 2.エラー - 電子メールが表示されます。 3.有効なメールアドレスを入力し、名前を削除してsubmitを押します。 4.この場合、エラーメッセージを入力する必要があります。 –
検証用に見つかった場合は他のロジックを使用してください。jQueryを使用しても構いません。 –
@MainakBhattacharjee Answer Edited –