Yii2:检测Pjax表单提交与手动提交

时间:2018-03-14 03:36:23

标签: jquery yii2 pjax active-form

我有一个创建项目的视图。在视图中我有一个#Code block B for i in dir(os): print (i) pthread_create(&(tid[i]), &attr, runner, (void*)&i); 这个表单是一个图片上传输入,在更改后我使用javascript提交表单:

ActiveForm

目的是我想将图像上传到临时文件夹并在页面上显示,以便在保存项目之前对它们进行排序。

我遇到的问题是区分javascript提交和用户使用提交按钮提交表单的时间。

我已尝试在提交按钮中添加名称:

Pjax

但无论我是通过javascript还是通过按钮提交,$('#itemForm').submit(); 都包含Html::submitButton('Save Item', ['class' => 'btn btn-success', 'name' => 'submitButton']) ,因此我无法判断图片的上传时间和保存项目的时间。

1 个答案:

答案 0 :(得分:1)

如果你想通过javascript检测提交,你应该声明一个默认值为0的隐藏字段。

Html::hiddenInput('is_js_submit',0,['id'=>'is_js_submit']);

然后在你打电话

之前
$('#itemForm').submit();

在图片上传时提交表单添加声明

$("#is_js_submit").val(1)

现在您可以检查 controller/action 中的值,如果它是javascript提交或普通表单提交。

希望它可以帮助你。