2

私のコードは

見る

<?php echo CHtml::SubmitButton('Submit',array('onclick'=>'return validation();'));?>

私のスクリプト関数

function validation(){

    jQuery("#firstname_result").hide();

    jQuery("#lastname_result").hide();

    jQuery("#email_result").hide();

var firstname =jQuery("#first_name").val();

    var lastname = jQuery("#last_name").val();

    var email = jQuery("#email").val();

success=true;

if(firstname==''){

    success=false;

    jQuery('#firstname_result').html('First Name cannot be blank.').show();


}
if(lastname==''){
        success=false;
    jQuery('#lastname_result').html('Last Name cannot be blank.').show();

}
if(email==''){    
        success=false;
    jQuery('#email_result').html('Email cannot be blank.').show();

}

if(!success)
        return;

}

[送信]ボタンをクリックすると、エラーが表示され、送信対象の別のページにフラッシュアウトされます。これを克服する方法を誰かに教えてもらえますか?

4

2 に答える 2

1

成功変数の値を返してみてください。それはトリックを行う必要があります。

if(!success) return;

する必要があります

return success;

これにより、フォームのサミットが停止します。

于 2012-10-11T11:05:15.013 に答える
0

フォームの送信を防ぐには、preventDefaultを使用します。

変更されたコード:

<?php echo CHtml::SubmitButton('Submit',array('onclick'=>'return validation(event);'));?>

function validation(event){
   ..... //code 
  if(!success) {  
         event.preventDefault();
         event.returnValue = false; // for IE.
     }
于 2012-10-11T11:00:30.083 に答える