Вы можете обновить действие формы перед отправкой, используя javascript / jQuery, для этого вам также необходимо удалить кнопку ввода ввода и создать несколько кнопок, по одной для каждого действия, например:
<table cellpadding="1" cellspacing="1" id="resultTable">
...
<button id="btn_update">Update</button>
<button id="btn_delete">Delete</button>
</table>
<form name="actionForm" method="post"></form>
Используйте следующий скрипт для обновления формы и отправки
<script type="text/javascript">
function setFormActionAndSubmit(action) {
const checked = $("#resultTable input[name='selected_id[]']:checked");
if (!checked.length) {
alert("Please select an item.");
return;
}
// set form action
const form = $(document.actionForm).attr("action", action);
checked.each(function(){
$("<input/>", {type: "hidden", name: "selected_id[]", value: $(this).val()}).appendTo(form);
});
form.submit();
}
$("#btn_update").click(function() {
setFormActionAndSubmit("updateproduct.php")
});
$("#btn_delete").click(function(){
setFormActionAndSubmit("delete.php")
});
</script>
UPDATE-1 Вы также можете создавать отдельные формы для каждого действия, это позволит вам добавлять любые дополнительные элементы ввода формыдоступны для конкретной формы, например, так:
// Update Form
<form name="updateForm" method="post" action="updateproduct.php">
<select name="availability">
<option value="Test1">1</option>
<option value="Test2">2</option>
</select>
</form>
// Delete Form
<form name="deleteForm" method="post" action="delete.php"></form>
Используйте следующий скрипт для отправки каждой формы
<script type="text/javascript">
function setFormValuesAndSubmit(form) {
const checked = $("#resultTable input[name='selected_id[]']:checked");
if (!checked.length) {
alert("Please select an item.");
return;
}
form = $(form);
form.find("[name='selected_id[]']").remove();
checked.each(function(){
$("<input/>", {type: "hidden", name: "selected_id[]", value: $(this).val()}).appendTo(form);
});
form.submit();
}
$("#btn_update").click(function() {
setFormValuesAndSubmit(document.updateForm);
});
$("#btn_delete").click(function(){
setFormValuesAndSubmit(document.deleteForm);
});
</script>
UPDATE-2 для отправки формы с использованием AJAX замените setFormCheckboxValuesAndSubmit
со следующим:
function setFormCheckboxValuesAndSubmit(form) {
const checked = $("#resultTable input[name='selected_id[]']:checked");
if (!checked.length) {
alert("Please select an item.");
return;
}
form = $(form);
form.find("[name='selected_id[]']").remove();
checked.each(function(){
$("<input/>", {type: "hidden", name: "selected_id[]", value: $(this).val()}).appendTo(form);
});
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(),
dataType: "json", // UNCOMMENT THIS IF RESPONSE IS JSON Object
success: function(responseData) {
alert("Form submitted successfully");
console.log(responseData);
},
error: function(x) {
alert("Something went worng")
console.log(x, x.responseText);
}
});
}