Я пытаюсь отправить форму, используя FormData, все типы ввода работают нормально, кроме флажка. Ajax не публикует, если значение 1 или 0 из флажка.
<form id="update-form" method="PUT" enctype="multipart/form-data" >
<input type="text" id="text" name="text" value="Hello"> //fine
<input type="checkbox" id="visa" name="visa" value="0"> //not posting
<button type="submit" name="id" id="update-data" > UPDATE</button></form>
Ajax:
jQuery(document).ready(function(e) {
$('#update-data').on('click', function(e) {
var formData = new FormData(document.getElementById("update-form"));
$.ajax({
type: "POST",
url: "subject/" + $('#update-data').attr("value"),
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data:formData,
processData: false,
contentType: false,
cache: false,
success: function (data) {
alert("Updated")
} },
}); }); });
Контроллер:
$teacher->update($request->all());
Я пытался добавить FormData, но он также не работает.
var checkbox = $("#update-form").find("input[type=checkbox]");
$.each(checkbox, function(key, val) {
formData.append($(val).attr('name'), $("#visa").is(':checked'))
});
Ошибка:
local.ERROR: SQLSTATE [22007]: неверный формат даты и времени: 1366 Неверное целочисленное значение: «true» для столбца teacher_db
. teachers
. visa
i want to post check box value 1 if it is checked and 0 if unchecked.