我正在尝试通过pjax提交表单,在提交后我想刷新表但在提交表单并尝试重新加载($.pjax.reload({container:'#products-table'});
)后,jquery脚本不再起作用了。即使我添加了pjax:success
,但如果我没有重新加载表,所有脚本都在工作并发送请求,然后我必须手动重新加载以查看更改。或者我试图在没有pjax的情况下提交表单,然后由Yii重新加载页面,然后再次使用脚本重新加载。请你的反馈。感谢
$(document).on('ready pjax:success', function(){
$("form.products-input-style").on('beforeSubmit', function(e){
var form = $(this);
$.ajax({
type : "POST",
url: form.attr('action'),
data: new FormData(this),
processData: false,
contentType: false,
success : function(response) {
$.pjax.reload({container:'#products-table'});
$.notify({
icon: "pe-7s-check",
message: "Product is updated."
},{
type: type[2],
timer: 10,
placement: {
from: 'top',
align: 'right'
}
});
},
error : function(response){
console.log(response);
$.notify({
icon: "pe-7s-close-circle",
message: "Error! " + response
},{
type: type[4],
timer: 10,
placement: {
from: 'top',
align: 'right'
}
});
}
});
return false;
}).on('submit', function(e){
e.preventDefault();
});
});
答案 0 :(得分:0)
如果pjax reload之后输入表单有问题,请尝试禁用yii客户端验证:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menuToggle">
<span></span>
<span></span>
<span></span>
</div>
这是yii \ widgets \ ActiveForm和yii \ bootstrap \ ActiveForm上的一些错误。
答案 1 :(得分:0)