0

このスクリプトを作成して、ユーザーがテキストボックスに入力する電子メールのフォームを確認しました

function checkEmail() {

  var mail = document.getElementById('mail');
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; /* regex        koda najdena na codeproject.com*/

  if (!filter.test(mail.value)) 
{
    alert('enter valid email');
    mail.focus;
    return false;
}

このスクリプトでフォームをチェックするために使用され、続行する前にアラートを表示することになっています

<?php
    $flag = 0;
    if(isset($_POST['submit']))
    {   
        $con = mysql_connect("localhost","root","");
        if (!$con){
          die("cannot connect: " . mysql_error());
        }

        mysql_select_db("strek", $con); 

        $nar_db="SELECT * FROM narocniki;";  
        $result = mysql_query($nar_db, $con);

        while($row=mysql_fetch_array($result))
        {
            if($_POST['mail']==$row['mail'])
                $flag = 1;
        }
        if($flag==0)
        {
            $sql = "INSERT INTO narocniki (mail)  VALUE ('$_POST[mail]')"; 
            mysql_query($sql, $con);    
            mysql_close($con);
            ?>
              <p align="center" class="vsebina" >
                Tvoj mail je bil uspešno sprejet!</p>    
            <p align="center"><a href="dogodki.php"><input type="button" name="return" value="nazaj"></a></p>
            <?php
        }
        else
        {
            echo '<p align="center" class="vsebina">Naveden mail je že v bazi naročnikov!</p>';
            ?>
            <p align="center"><a href="dogodki.php"><input type="button" name="return" value="nazaj"></a></p>
            <?php
        }
    }
    else
    {
        include("vsebina/tabdog.html");
    ?>
         <p align="center" class="vsebina" id="mail">
      naroči se na najnovejše novice</p>

        <form action="dogodki.php" method="post">
            <p align="center" class="vsebina">vnesi svoj e-naslov:  <input type="text" name="mail" id="mail" required>

                <input type="submit" name="submit" value="potrdi" onClick="return checkEmail()">  

            </p>
        </form>
    <?php
    }
  ?>

それはおそらく何かが欠けているだけですコード内にスクリプトを含めるだけでよいでしょうか、そしてそれを配置するのに最適な場所はどこですか-天候を頭の中に直接入れるか、むしろその中間に置きます

メールがデータベースに存在するかどうかを既にチェックしており、メールの形式もチェックする必要があるため、これは私のコードでも可能ですか?

4

1 に答える 1

0

onclick送信ボタンの属性で行う代わりにonsubmit、フォームの属性でそれを行ってみてください:

<form action="dogodki.php" method="post" onsubmit="return checkEmail()">
于 2013-09-06T03:52:13.627 に答える