2011-08-10 10 views
0

Ajaxを使用して、登録フォームのユーザー名が短すぎるかどうかをテストしています。PHP値に基づいてフォームが送信されないようにするにはどうすればよいですか?

今それだけでこの処理を行います。

if (str.length<6) 
    { 
    document.getElementById("txtHint").innerHTML="Too short"; 
    return; 
    } 

私はそれ以上のアクションは、ユーザーが提出できません追加するにはどうすればよいですか?

<form action="/insert/insert-user.php" method="post"> 
    <input type="text" name="user" onkeyup="showHint(this.value)"/> 

答えて

0

あなたのフォームにフォーム名とonsubmitイベントを追加してみてください。

<form name="formName"action="/insert/insert-user.php" method="post" onsubmit="validate()"> 

function validate() { 
    if (document.formName.user.value.length < 7) { 
     // Display your message in your division 
     return false; 
    } 
} 

ユーザーがJavascriptが無効になり、セキュリティ対策のために持っているかもしれないのでまたPHPでチェックを繰り返す必要があります:

if ($_POST['your_submit_button']) { 
    if (strlen($_POST['user']) < 7) { 
     $submit = false; 
     die ("<div style='color: red;'>Too short</div>"); 
    } 
} 
1

CheckUserName関数では、ajaxコードを追加してtrueまたはfalseを返します。それが偽であれば、提出しません。

<form action="/insert/insert-user.php" onsubmit="CheckUserName()" method="post"> 
0

クラスは「エラー」と言うことができますし、フォームの呼び出しにエラー・クラスはjQueryのことで、テキストを持っているかどうかをチェックする別の機能を提出の上にDIVあなたのエラーを与えます。クラスにテキストのみが返され、フォームが提出されない場合

関連する問題