Yii2:检测 Pjax 表单提交与手动提交
Yii2: Detect Pjax form submit vs manual submit
我有一个创建项目的视图。在视图中,我在 Pjax
中有一个 ActiveForm
此表单是一个图像上传输入,在更改后我使用 javascript 提交表单:
$('#itemForm').submit();
我的目的是想把图片上传到一个临时文件夹中,然后在页面上显示出来,这样在保存项目之前可以对它们进行排序。
我遇到的问题是区分 javascript 提交和用户使用提交按钮提交表单的时间。
我试过给提交按钮添加一个名字:
Html::submitButton('Save Item', ['class' => 'btn btn-success', 'name' => 'submitButton'])
但是不管我是通过javascript提交还是通过按钮提交,$_POST
包含submitButton
,所以我不知道什么时候上传图片以及什么时候上传项目正在保存。
好吧,如果你想通过 javascript 检测提交,你应该声明一个默认值为 0
的隐藏字段。
Html::hiddenInput('is_js_submit',0,['id'=>'is_js_submit']);
然后在您调用
$('#itemForm').submit();
要在上传图片时提交表格,请添加声明
$("#is_js_submit").val(1)
现在您可以检查 controller/action
中的值是 javascript 提交还是普通表单提交。
希望对您有所帮助。
我有一个创建项目的视图。在视图中,我在 Pjax
中有一个 ActiveForm
此表单是一个图像上传输入,在更改后我使用 javascript 提交表单:
$('#itemForm').submit();
我的目的是想把图片上传到一个临时文件夹中,然后在页面上显示出来,这样在保存项目之前可以对它们进行排序。
我遇到的问题是区分 javascript 提交和用户使用提交按钮提交表单的时间。
我试过给提交按钮添加一个名字:
Html::submitButton('Save Item', ['class' => 'btn btn-success', 'name' => 'submitButton'])
但是不管我是通过javascript提交还是通过按钮提交,$_POST
包含submitButton
,所以我不知道什么时候上传图片以及什么时候上传项目正在保存。
好吧,如果你想通过 javascript 检测提交,你应该声明一个默认值为 0
的隐藏字段。
Html::hiddenInput('is_js_submit',0,['id'=>'is_js_submit']);
然后在您调用
$('#itemForm').submit();
要在上传图片时提交表格,请添加声明
$("#is_js_submit").val(1)
现在您可以检查 controller/action
中的值是 javascript 提交还是普通表单提交。
希望对您有所帮助。