Я пытаюсь изменить функциональность кнопки отправки формы HTML, когда она была отправлена (путем изменения идентификатора формы), для работы в качестве переключателя.Однако при изменении идентификатора формы функция on ('submit', function) не обновляется и вызывается, несмотря на то, что id больше не привязан к форме.update_favourite(...)
вызывается внутри функции AJAX, но я ради простоты удалил AJAX из этого фрагмента
$('#add_favourite').on('submit', function(event){
event.preventDefault();
console.log('add');
update_favourite('add');
});
$('#remove_favourite').on('submit', function(event){
event.preventDefault();
console.log('remove');
update_favourite('remove');
});
function update_favourite(addOrRemove) {
if($('#add_favourite').length){
$('#remove_favourite').attr("onclick","");
$('#submitbutton').val('Remove from Favourites');
$('#add_favourite').attr("id","remove_favourite");
/*This doesn't make a difference
$('#remove_favourite').on('submit', function(event){
event.preventDefault();
console.log('remove');
update_favourite('remove');
});
*/
}
else if($('#remove_favourite').length){
$('#remove_favourite').attr("onclick","");
$('#submitbutton').val('Add to Favourites');
$('#remove_favourite').attr("id","add_favourite");
/*This doesn't make a difference
$('#add_favourite').on('submit', function(event){
event.preventDefault();
console.log('add');
update_favourite('add');
});
*/
}
};
Моя реализация корректно меняет кнопку отправки и идентификатор формы, но слушатель onclick не меняетс изменением идентификатора.Любые предложения / исправления будут высоко оценены!