yii2 ActiveForm ajax出现两次提交的老问题

网上看了很多帖子都还无法解决这个问题,就没有大神能想出个办法,贴出解决代码么?
现在主要问题是点击提交ActiveForm会后台验证(第一次提交),如果在js再加ajax就变成两次提交了。有没一种方法可以监听ActiveForm的返回值而不提交(不明白究竟第一次提交的返回值是返回给谁的)。另外不知为什么给ActiveForm绑定submit事件然后返回false还是不能阻止其提交,好纠结~~~

阅读 5k
4 个回答
<form onsubmit="return false;">

我最近在做一个项目时也涉及到阻止form表单提交的问题,我是利用js(jQeury)来监听提交按钮的onclick事件来解决的。具体实现如下:

// 如果条件a为true,则阻止表单提交
$('.button').on('click', function(e) {
    if (a) {
        e.preventDefault(); // 阻止与click事件相关的提交表单动作。
    }
});

额,问题好像没那么简单。SegmentFault有人问过类似的问题,可以参考这个https://segmentfault.com/q/10...

`$form = ActiveForm::begin([           'options' => ['onsubmit'=>'return false;']]);`
我的项目上可以用(也是重复提交问题)

RVT~PRA2N5FIUKH9CEFZ%LU.png
参数设置为false即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题