#javascript #php #laravel
Вопрос:
Я пытаюсь удалить по идентификатору. Но почему бы не показать action=NaN
в консоли.
Deleting.. form id="deletecategoryform" action="NaN" method="POST"
Вот мой код
<script>
function handleDelete(id){
var form = document.getElementById('deletecategoryform')
form.action = '/categories/' * id
console.log('Deleting',form)
$('#deleteModal').modal('show')
}
</script>
Ответ №1:
Не размножайся '/categories/' * id
скорее: объединить строки с
form.action = '/categories/' id;
или с помощью литералов строковых шаблонов с обратными указателями:
form.action = `/categories/${id}`;
Это еще не все.
При использовании JS для обработки отправки формы вы можете захотеть, чтобы браузер не испортил все. В таком случае не забудьте запретить браузеру отправлять форму с помощью Event.preventDefault() — или на самом деле вам вообще не нужна форма:
function removeItem(ev) {
const $button = $(this);
const id = $button.data("delete-id");
$.ajax("/delete/" id)
.done((res) => {
console.log(res);
// Remove button's LI parent:
$button.closest("li").remove();
}).fail(err => {
console.log(err);
});
}
$(document).on("click", "[data-delete-id]", removeItem);
<ul>
<li>
Some item with ID 24 <button type="button" data-delete-id="24">DELETE</button>
</li>
</ul>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>