Мне удалось сделать это со свежим умом и этим кодом.
$('input[type=submit]').click(function()
{
var form = $("#numbers");
var submit_button = $(this).attr('value');
if(submit_button == 'Cancel' || submit_button == 'Pause')
{
var controller = 'numbers/status_msg/' + submit_button;
var list = $(':checkbox[name="phone_id[]"]:checked').map(function(){
return $(this).val();
}).get().join(',');
form.attr('action', base_url + controller + '?ids=' + list);
}
/*if($(this).attr('value') == 'Multi Edit')
{
//allow form to submit to default action '#'
}*/
if($(this).attr('value') == 'Save All')
{
var controller = 'numbers/multi_update/';
var options = { target: $(form).find(".error")};
form.attr('action', base_url + controller );
alert(form.attr('action'));
$(form).ajaxSubmit(options);
return false;
}
});
затем в представлении «numbers / multi_update» при успешной отправке введите:
if($("input[name=redirect]").val())
{
//Add $insert_id to the redirect url
var redirect_url = $("input[name=redirect]").val() + "/<?php echo $insert_id; ?>";
//redirect
window.location = base_url + redirect_url;
}
Это работает, но есть ли более простой способ?