0
我有pjax在大多数情况下工作正常,但提交表单的时候,我发现了在控制台一个奇怪的错误信息收到错误通知:PJAX与Laravel表单提交
Uncaught TypeError: Cannot read property 'tagName' of undefined
我跟踪下来的pjax.js到线123,这就是:
function handleSubmit(event, container, options) {
options = optionsFor(container, options)
var form = event.currentTarget
if (form.tagName.toUpperCase() !== 'FORM') //error occurs here
throw "$.pjax.submit requires a form element"
var defaults = {
type: form.method.toUpperCase(),
url: form.action,
container: $(form).attr('data-pjax'),
target: form
}
的代码似乎仍然正确触发,但我想清理错误。
所以,我增加了一个console.log(form)
之前只是看发生了什么事,这里就是我的了:
undefined
Uncaught TypeError: Cannot read property 'tagName' of undefined
<form method="POST" ...
空白数据,一旦有看起来它必须被烧成方法handleSubmit()
两次,一次形式,但我不明白为什么。这里就是我火pjax:
$(document).on('submit', 'form[data-pjax]', function(event) {
$.pjax.submit(event, '#pjax-body');
})
编辑:这里是我的形式看起来像(用刀片)
{!! Form::open(['url'=>['users/changestatus'], 'data-pjax']) !!}
{!! csrf_field() !!}
<input type="hidden" name="id" value="{{ $user->id}}">
<input type="hidden" name="status" value="{{ $user->status }}">
<button type="submit" >Update</i></button>
{!! Form::close() !!}:
您的'var形式'问题,因为它不包含任何值。 –
提交的表单不是空的。已经将该表格添加到问题中以供澄清。 – TH1981