-5

私はJavaを知りませんが、これは知っている人にとっては簡単に見えます。お問い合わせフォームを検証する必要があり、これらの検証スクリプトがありますが、このスクリプトの複数のインスタンスを入力すると実行されません。そのうちの1つだけを使用すると正常に機能します。誰かがこれらの4つを1つの検証スクリプトに組み合わせることができますか?

名前フィールドの検証

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["name"].value;
if (x==null || x=="")
  {
  alert("Name must be filled out");
  return false;
  }
}
</script>

件名フィールドを検証する

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["subject"].value;
if (x==null || x=="")
  {
  alert("Subject must be filled out");
  return false;
  }
}
</script>

メッセージフィールドの検証

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["message"].value;
if (x==null || x=="")
  {
  alert("Message must be filled out");
  return false;
  }
}
</script>

メールフィールドを検証する

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["email"].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;
  }
}
</script>

そしてあなたの典型的なお問い合わせフォーム

<form name="myForm" method="POST" onsubmit="return validateForm()" >
<input type="text" name="name">
<input type="text" name="email">
<input type="text" name="subject">
<textarea name="message"></textarea>
<input type="submit" value="Send Message" name="submit">
</form>
4

3 に答える 3

2

これが私がそれを機能させた方法です

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["name"].value;if (x==null || x==""){alert("Name must be filled out");return false}
var x=document.forms["myForm"]["email"].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;}
var x=document.forms["myForm"]["subject"].value;if (x==null || x==""){alert("Subject must be filled out");return false}
var x=document.forms["myForm"]["message"].value;if (x==null || x==""){alert("Message must be filled out");return false}
}
</script>
于 2012-07-24T08:33:50.960 に答える
1

何かのようなもの;

var validation = ["name","subject","message","email"];   
validation.forEach(
    x=document.forms["myForm"][this];
    if(this=="email"){
        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;
        }
   }else{
        if (this==null || x==""){
            alert(this.toUpperCase()." must be filled out");
            return false;
        }
    }
);
于 2012-07-23T22:11:27.193 に答える
0

条件付きの「if」を使用して1つの関数で機能させることができ、フォームの送信イベントで関数を呼び出します。これは単純なフォームの例です。

<form action="insert.php" name="contact" onsubmit="return valida_frm(this)" method="post">

               <input name="personname" type="text"/>
               <input name="personemail" type="email"/>                  
               <textarea name="message"></textarea>
               <input type="submit" value="Send">

            </form>

次に、「head」タグの間に関数を追加します

<script language="javascript">
function valida_frm(form){
var alert="Error:\n";
if (form.personname.value == "") {alert+="Name can't be empty.\n";} 
if (form.personemail.value == "") {alert+="E-Mail can't be empty.\n";}
if (form.message.value == "") {alert+="Message can't be empty.\n";}
if (alert!="Error:\n"){
    alert(alert);   
    return false;
}else{
    return true;
}   
}
</script>

この方法を使用して、入力値を検証してメーラーに送信できます。これがお役に立てば幸いです。

于 2013-04-30T02:11:41.877 に答える