2017-08-07 8 views
0

簡単な管理の選択と入力ボックスのクローン作成を可能にするjqueryプラグインのCloneyaを使用するフォームがあります。

私のHTMLフォームは次のようである:

<div class="spacer-b10 colm colm2"> 
    <label class="prepend-icon"><input type="text" name="acc_code[1]" id="acc_code" 
    class="gui-input" placeholder="Code" /> </label> 
    </div> 

    <div class="spacer-b10 colm colm2"> 
    <label class="field select"><select id="acc_name" name="acc_name[1]" style= 
    "font-size:12x"> 
     <option value=""> 
     Account 
     </option> 

     <option value="Administrator"> 
     Administrator 
     </option> 

     <option value="Read Only"> 
     Read Only 
     </option> 
    </select> </label> 
    </div> 

cloneyaプラグインが自動的に要素名を作成します。

その後、私は以下のAJAXのスクリプトがあります:私は確認するために、配列かどうか、これらが配列である場合、フォーム内のすべての$ _POSTを取得することを確認する私のファイルcheck.phpで

jQuery(document).ready(function($) { 

      $('#account2').submit(function(e) { 

       e.preventDefault(); // Prevent Default Submission 

       $.ajax({ 
         url: 'submit.php', 
         type: 'POST', 
         data: $(this).serialize() // serialize the form data 
        }) 
        .done(function(data) { 
         $('#form-content').fadeOut('slow', function() { 
          $('#form-content').fadeIn('slow').html(data); 
         }); 
        }) 
        .fail(function() { 
         alert('Ajax Submit Failed ...'); 
        }); 
      }); 

をクローンされたすべての要素をループします(DB挿入用)。

これを行うにはどのような方法が最適でしょうか?

答えて

0

あなたはserializeArray()を使用してJSON.stringify(paramsToSend)としてフォームを送信することができますサーバー側で

var paramsToSend = {}; 
 
paramsToSend['form'] = $('#account2').serializeArray(); 
 

 
$.ajax({ 
 
    url: 'submit.php', 
 
    type: 'POST', 
 
    data: { 
 
     params: JSON.stringify(paramsToSend) 
 
    }, 
 
    }) 
 
    .done(function(data) { 
 
    $('#form-content').fadeOut('slow', function() { 
 
     $('#form-content').fadeIn('slow').html(data); 
 
    }); 
 
    }) 
 
    .fail(function() { 
 
    alert('Ajax Submit Failed ...'); 
 
    }); 
 
});
submit.php、次のことができます。

$parameters = json_decode($_POST['params']); 

それらを配列に変換してその配列をにするには、あなたはできます:

$_POST = (array) $parameters; 
+0

ありがとう、私はこれをできるだけ早くテストします –

関連する問題