1

以下の jquery.validation を使用して、フロントエンドで電子メールを検証します。それは正常に動作します。

jQuery(function(){ 
  //checking email is blank or not
  jQuery("#email").validate({
    expression: "if(VAL) return true; else return false;",
    message: "<?php echo JText::_('Error in email'); ?>"
  });
}); 

PHP - Joomla 保存ボタン

JToolBarHelper::save();

joomlaのネイティブ保存ボタンを使用して起動し、コントローラーにタスクを保存します。

HTML

<input type="text" name="email" id="email" value="">

私の問題は、jquery の検証が joomla の送信を停止しないことです。私がやりたいことは、ユーザーが [保存] をクリックしたときに、検証エラーがない場合にのみフォームを送信したいということです。どうすればできますか?ありがとう

4

1 に答える 1

5

これがあなたの役に立ちますように-

//Joomla 1.5
    function submitbutton(pressbutton) {   
     var isValid = jQuery("#form-id").valid();
     if(isValid){
      submitform(pressbutton); 
     }else{
      return false;
     }
    }
    jQuery(document).ready(function(){
     jQuery("#form-id").validate();
    });

//joomla 2.5
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery("#form-id").validate();
});
Joomla.submitbutton = function(task)
{
    var isValid = jQuery("#form-id").valid();
    if(isValid){
        Joomla.submitform(task, document.getElementById('form-id'));  
    }else{
        return false;
    }
}
</script>

詳細については - http://docs.jquery.com/Plugins/Validation/valid

于 2012-10-01T10:08:30.130 に答える