0

簡単な JavaScript 検証を実装しましたが、検証とフォームの送信が同時に行われることはありません...

「onsubmit」(以下のように)を使用すると、検証なしで次のページに移動します

フォームの最後で「onclick」を使用すると

<input type="button" name="submit" id="send" value="Search Flights" onclick="return validate_booking_form();" />
</form>  

入力を検証します..しかし、正しい入力でもフォームは送信されません

これは私が使用したコードです //Javascript Validation

function validate_booking_form()
{
    chk_fromcity();
    chk_tocity();
    chk_depature_date();                   

}

function chk_fromcity()
{
    var from_city = $('#from_cities').val();
    if (from_city == '')
    {
        $("#from_cities").removeClass('fieldInput');
        $("#from_cities").addClass('error');
        $("#errormsg_from").fadeTo(200, 1, function()
        {
            $(this).html('Please Enter a City').addClass('errormsg');                   
        })
    }
    else
    {
        $('#from_cities').removeClass('error'); 
        $('#from_cities').addClass('fieldInput');
        $("#errormsg_from").fadeTo(200, 1, function()
        {
            $(this).html('').removeClass('errormsg');                   
        })             
    } 
}

そしてフォーム

<form method="POST" action="../controller/booking.php" name="search_flights_names" onsubmit="return validate_booking_form();" >

    /// Form content 
<div class="form_input_container">
                        <div class="form_input">
     <input type="text" id="from_cities" name="from_city" class="fieldInput" onblur="return chk_fromcity()" /> 
                         </div>
</div>

<input type="submit" name="submit" id="send" value="Search Flights" />
</form>
4

3 に答える 3

0

Jquery validateを使用してみてください。私はそれがあなたの問題をかなり解決するはずだと思います

于 2013-08-18T19:06:11.967 に答える
0

送信は、使用する適切なボタンです。

フォーム要素でputtononsubmitを試して、クリック イベントではなくそこで検証を実行してください。そうすれば、Enter キーを押してもすべての検証がバイパスされることはありません。

于 2013-08-18T18:58:04.250 に答える