2012-02-20 3 views
0

データベースからテーブルがいっぱいです。各行にはチェックボックスがあります。あなたは私が押すことができるようにしたい(複数)のチェックボックスを選択した場合:複数のフォームアクション、成功した送信時に検証エラーを返して結果を更新

  • 1のすべてのための$行優先>ステータスを変更するには、ボタンはフォーム要素にそれぞれチェックを行の内容を変換するために、行
  • 別のボタンをチェックし(。私はこれを行っていますかどうかに応じてビュー内の別のテンプレートを選択してisset($_POST['ap'])
  • 私は、これらの行に変更を保存する送信ボタンが必要です。

私はcodeigniterを使用しており、jquery.formを使用してフォームを送信しています。

私の主な問題は、以下の2つの機能を組み合わせてコードをできるだけ再利用できるようにすることです。 $('.form_js')validation_errors();をフィードバックしますが、異なるテーブルアクションは許可されません。事前に

おかげ

ここに私の現在のコードです:

$('.form_js').submit(function(){ 

    var options = { target: $(this).find(".error")}; 

    $(this).ajaxSubmit(options); 
    return false; 
}); 

function form_action(controller){ 

    var original_url = window.location; 
    var form = $("#ap_table"); 
    var list = $(':checkbox[name="ap[]"]:checked').map(function(){ 
     return $(this).val(); 
    }).get().join(','); 
    alert(base_url + controller + "?ap=" + list); 
    form.attr('action', base_url + controller + "?ap_id=" + list); 

    return false; 
} 

答えて

0

私は新鮮な心と、このコードでこれを行うために管理が。

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; 

} 

これは動作しますが、もっと簡単な方法があります:で成功提出の '番号/ multi_update' ロードビューで、その後

$('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; 
} 

}); 

関連する問題