Почему вы не показываете конкретный идентификатор в действии

#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>