Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2-onsubmit事件被激发两次_Yii2_Yii2 Basic App - Fatal编程技术网

Yii2-onsubmit事件被激发两次

Yii2-onsubmit事件被激发两次,yii2,yii2-basic-app,Yii2,Yii2 Basic App,我试图使submit中的submit事件设置为内联,但它将被触发两次,这不是期望的行为 我的ActiveForm代码: 有没有办法防止这种行为?您可以使用 使用事件 可参加的活动有: 在验证之前 后验证 在确认贡品之前 后验证属性 在提交之前 阿贾克斯 ajaxComplete 您可以使用 使用事件 可参加的活动有: 在验证之前 后验证 在确认贡品之前 后验证属性 在提交之前 阿贾克斯 ajaxComplete 嗯。。。您正在尝试创建自定义事件,该事件将在提交表单时触发?为什么不使用Active

我试图使submit中的submit事件设置为内联,但它将被触发两次,这不是期望的行为

我的ActiveForm代码:


有没有办法防止这种行为?

您可以使用

使用事件 可参加的活动有:

在验证之前

后验证

在确认贡品之前

后验证属性

在提交之前

阿贾克斯

ajaxComplete


您可以使用

使用事件 可参加的活动有:

在验证之前

后验证

在确认贡品之前

后验证属性

在提交之前

阿贾克斯

ajaxComplete


嗯。。。您正在尝试创建自定义事件,该事件将在提交表单时触发?为什么不使用ActiveForm js提供的默认事件?@MuhammadOmerAslam-我对yii2有点生疏,ajax提交的默认事件是什么?为您添加了一个答案,看看它是否有助于您解决问题。。。您正在尝试创建自定义事件,该事件将在提交表单时触发?为什么不使用ActiveForm js提供的默认事件?@MuhammadOmerAslam-我对yii2有点生疏,ajax提交的默认事件是什么?为您添加了一个答案,看看它是否有助于您解决此问题。这帮助很大。谢谢,伙计,这帮了大忙。谢谢,伙计:
<?php

use app\models\Countries;
use app\models\States;
use yii\bootstrap\ActiveForm;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;

$form = ActiveForm::begin(
    [
        'action'  => 'user-default-shipping/create',
        'options' => [
            'onsubmit' => 'Address.createDefault(event, this)'
        ]

    ]
);

if ($model->id)
    echo Html::activeHiddenInput($model, 'id');

echo $form->field($model, 'city')->textInput();

echo $form->field($model, 'address')->textInput();

echo $form->field($model, 'zip')->input('text');

echo $form->field($model, 'country_id')
    ->dropDownList(ArrayHelper::map(Countries::find()->all(), 'country_id', 'country_name'),
        ['role' => 'countries']
    )->hint('Choose your country.');

echo $form->field($model, 'state_id')
    ->dropDownList(ArrayHelper::map(States::find()->all(), 'state_id', 'state_name'),
        [
            'role' => 'states'
        ]
    )->hint('Choose your state.');

?>

    <div class="form-group">
        <button type="submit" class="btn btn-green">Submit</button>
    </div>

<?php ActiveForm::end(); ?>
const Address = {

    createDefault(event, form) {
        event.preventDefault();

        console.log(form);

    }

}
$('#contact-form').on('beforeSubmit', function (e) {
    if (!confirm("Everything is correct. Submit?")) {
        return false;
    }
    return true;
});