如果没有错误,请提交表格

时间:2016-01-18 19:37:32

标签: ajax

我通过此函数使用ajax发送活动表单

      public    function Link()
    {
        $id=$this->params['id'];
        $url=$this->params['url'];
        $dviId=$this->params['divId'];
 $url=Yii::$app->urlManager->createAbsoluteUrl($url);
           $js2="$('#".$id."').on('click', function() { $.ajax({url: '".$url."',type: 'POST',success : function(res){ $('#".$dviId."').html(res);}});});";


        $view = $this->getView();
        AjaxAsset::register($view);

        if ($js2 !== '') {
            $view->registerJs($js2);
        }
        return ;
    }

如果有任何其他事件发送表单

,则要显示错误

3 个答案:

答案 0 :(得分:1)

如果您使用的是javascript并希望对表单进行初始验证,则jquery中有一个插件可以进行客户端验证。

http://jqueryvalidation.org/

您还可以在文本标签中使用“required”属性进行一些初始检查。更多信息可以在这里找到:

http://www.w3schools.com/tags/att_input_required.asp

希望这有点帮助。

答案 1 :(得分:1)

您还可以在表单中将enableAjaxValidation设置为true

文档中有example(参见控制器部分)。

答案 2 :(得分:1)

        public   function Link()

    {
        $id=$this->params['id'];
        $url=$this->params['url'];
        $dviId=$this->params['divId'];
        if(isset($this->params['confirm'])) {
            $confirm = "if(confirm('".$this->params['confirm']."')){";
            $endConfirm = "}";
        }
        else
        {
            $confirm = "";
            $endConfirm = "";
        }
 $url=Yii::$app->urlManager->createAbsoluteUrl($url);
        $js2="$('#".$id."').on('click', function() {".$confirm."$.ajax({url: '".$url."',type: 'POST',beforeSend: function(){ $('body').addClass('wait');},complete: function(){ $('body').removeClass('wait');},success : function(res){ $('#".$dviId."').html(res);}});".$endConfirm."});";

        $view = $this->getView();
        AjaxAsset::register($view);

        if ($js2 !== '') {
            $view->registerJs($js2);
        }
        return ;
    }