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