Кнопка принятия / отклонения в html - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь принять или отклонить приглашения через элементы формы в html. Вот код:

             <form method="POST">
             <input type="submit" name="accept" id="accept" value="Accept">
             <input type="submit" name="decline" id="decline" value="Decline">
             </form>  

Поэтому всякий раз, когда я пытаюсь принять или отклонить приглашения, Accept или кнопка Отклонить должна измениться на Принято или Отклонено . Я могу сделать это, используя свойства javascript onclick. Но я не понимаю, как объект ответа должен обрабатывать это в маршруте публикации в express js ??? Что должен делать мой маршрут публикации? Когда я нажимаю кнопку «Принять» или «Отклонить», страница не должна перезагружаться, и должна измениться только нажатая кнопка. "добавить в корзину" на торговых сайтах в качестве примера). Как решить?

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Если бы у вас была только одна отправка, вы могли бы сделать так:

 <form name="myform" method="POST" onsubmit="onSubmit()";>
             <input type="submit" name="accept" id="accept" value="Accept">
  </form>  

function onSubmit(){
 document.myform.accept.value = 'Accepted';

}

Однако в вашем случае есть две submits, поэтому вы должны использовать onClick из них

  <form name="myform" method="POST" onsubmit="onSubmit()";>
                 <input type="submit" name="accept" id="accept" value="Accept" onclick="acceptFunction()">
<input type="submit" name="reject" id="reject" value="Accept" onclick="rejectFunction()">
    </form> 

function acceptFunction(){
 document.myform.accept.value  = "Accepted";
}
function rejectFunction(){
   document.myform.accept.value  = "Rejected";
}
0 голосов
/ 30 мая 2020

Вы можете легко использовать JQUERY для этого. Если нет, то я опубликую для него решение Pure javascript.

Чтобы форма не отправлялась. используйте event.preventDefault()

$("#accept").click(function(event) {
    event.preventDefault(); // cancel default behavior

    //... rest of add logic ( Request to  express js endpoint )
    this.value = "Accepted"
});


$("#decline").click(function(event) {
    event.preventDefault(); // cancel default behavior

    //... rest of add logic
    this.value = "Declined"
});

Я не тестировал, но считаю, что он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...