1

私はウェブサイトで作業していて、フィールドが空にならないようにフォームをチェックする必要があります。空のフィールドがある場合は、フィールド名の右側にこのフィールドを空にする必要があります。

私のフォームコードは:-

        <form action="Owners Infoback.php"  onsubmit="return validateForm()"  method="post" name="enquiry" id="" class="form-body-02">
    <ul>
        <li>1. Name of owner <input name="Name_of_owner" type="text" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; margin-left:40px; margin-top:15px; height:20px;"/>

        </li>
        <li>
         2. Name of company:<br />
         <p>(Enter name registered)</p></label>
        <input name="Name_of_company_registered" type="text" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; margin-left:40px; margin-top:13px; height:20px;"/>
        </li>
        <li>
          3. Address:<p>(Write your own manufacturer address)</p>

        <input name="Owner_address" type="text" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; height:20px; margin-left:40px; margin-top:13px;"/></li>

        </li>
        <li>
          4. Email id:
          <input name="Owner_Email_id" type="text" class="textarea-bk-02" id=""  value="<?php echo "{$row[3]}";?>" style="border:none; width:330px; margin-left:40px; margin-top:13px; height:20px;"/>
        </li>
        <li><input name="Save" type="submit"  class="send-btns-02 right" value="save" style="margin-top:5px;" >
        <div class="clear"></div>
        </li>
    </ul>

私のjavaスクリプト関数は次のとおりです:-

   function validateForm(string msz)
  {
 var x=document.forms["enquiry"]["Name_of_owner"].value;
if (x==null || x=="")
{
msz="First name must be filled out");
return msz;
}
x=document.forms["enquiry"]["Name_of_company_registered"].value;
if (x==null || x=="")
{ 
alert("Name of company registered filled out");
return false;
}
x=document.forms["enquiry"]["Owner_address"].value;
if (x==null || x=="")
{
alert("Owner addressmust be filled out");
return false;
}
 x=document.forms["enquiry"]["Owner_Email_id"].value;
 var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
 alert("Not a valid e-mail address");
 return false;
}
}

アラート機能の代わりにスター(*)とメッセージを返す必要があります。フィールド名のすぐ右にあるこのフォームに入力してください。助けてください。よろしくお願いします。

4

2 に答える 2

1

各フォーム入力の横に非表示の Div を配置できます。

<div id="nameOfOwnerError" style="display:none">*</div>

入力ごとにこれを行うと、それらが有効かどうかに応じて表示/非表示を選択できます。

$("#nameOfOwnerError").show();

編集: Neeraj - これを試してください。

Javascriptでは(申し訳ありません)、次のようなものです.....

 var nameOfOwnerError = document.getElementById("nameOfOwnerError");
nameOfOwnerError.style.display="visible";

私の頭の上からですが、あなたはその考えを理解します。主なポイントは、アスタリスクを非表示にし、コードを使用してアスタリスクを非表示にすることでした。

Edit2:申し訳ありませんが、Neerajはテストされていませんでした-これは私にとってはうまくいきます:

document.getElementById('nameOfOwnerError').style.display = "";

要素を再表示させ、あなたができる

...display="none"; 

jsコードで再び非表示にします

Edit3:テキストボックスに OnKeyUp イベントを追加して、テキストボックスにテキストが入力されたときに検証スクリプトをトリガーできるようにすることができます。

<input name="Name_of_owner" type="text" onkeyup="validateForm('');" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; margin-left:40px; margin-top:15px; height:20px;"/>

ifs を使用してフィールドが空かどうかを判断すると (現在行っているように)、ユーザーが特定のテキスト ボックスに入力するとすぐにアスタリスクを表示/非表示にできるはずです。

今のところ行く必要がありますが、これらの線に沿った何かがあなたが探しているものです。頑張ってください!

于 2012-06-01T09:04:30.173 に答える
0

* を返したくありません。false を返す必要があります (ちょうどそうしているように)。また、フィールドの横に * を描画し、何をしてほしいかについてのメッセージも表示します。

これを行うには、フォーム フィールドの横に非表示の div を追加し、ユーザーが無効なフォームを送信しようとしたときに (欠落しているデータに基づいて) 表示する必要があります。または、実行時に document.createElement を使用して要素を追加し、フォーム フィールドの親に添付することもできます。どちらの場合でも、HTML が余分な要素に対応していることを確認する必要があります。

于 2012-06-01T09:03:55.297 に答える