В соответствии с формой Controls
Когда форма отправляется на обработку, некоторые элементы управления имеют имя в паре с текущим значением, и эти пары передаются с формой.
Вы можете проверить значение атрибута по нажатию кнопки, чтобы удалить атрибут имени, что в конечном итоге предотвратит отправку значения:
$('input[type=submit]').click(function(){
$('#normalfee, #urgentfee').attr('name', 'fee');
if($(this).attr('name') == 'Normal Process'){
$('#urgentfee').removeAttr('name');
$('#urgentfee').attr('disabled', 'disabled');
}
else{
$('#normalfee').removeAttr('name');
$('#normalfee').attr('disabled', 'disabled');
}
var passVal = $('form').serialize();
alert(passVal);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name="home" action="#" method="post">
<input type="hidden" name="fee" id="normalfee" value="49">
<input type="hidden" name="fee" id="urgentfee" value="99">
<input type="submit" name="Normal Process">
<input type="submit" name="urgent process">
</form>