2016-04-06 4 views
2

ich eine Form haben, bei der Eingabe sind wieserialize Form, während das Eingangsname sind in Array jquery Felder

<input type="text" value="" name="fieldval[3][4][]" > 

jetzt, wenn ich dieses Formular serialisiert mit Jquery i Ergebnis bin immer wie diese

app_id=1&app_id=2&app_id=3&fieldval%5B2%5D%5B2%5D%5B%5D=1&fieldval%5B2%5D%5B2%5D%5B%5D=day&fieldval%5B3%5D%5B4%5D%5B%5D=23&fieldval%5B1%5D%5B1%5D%5B%5D=1&fieldval%5B1%5D%5B1%5D%5B%5D=mb&fieldval%5B1%5D%5B3%5D%5B%5D=200&fieldval%5B1%5D%5B3%5D%5B%5D=mb 

Bitte sagen Sie mir den richtigen Weg, um Werte von diesem Eingabefeld zu bekommen.

wenn ich jetzt serializeArray verwende ich bekommen Array wie

Array 
(
    [step_number] => 4 
    [app_id] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 3 
     ) 

    [formdata] => Array 
     (
      [0] => Array 
       (
        [name] => app_id[] 
        [value] => 1 
       ) 

      [1] => Array 
       (
        [name] => app_id[] 
        [value] => 2 
       ) 

      [2] => Array 
       (
        [name] => app_id[] 
        [value] => 3 
       ) 

      [3] => Array 
       (
        [name] => fieldval[2][2][] 
        [value] => 1 
       ) 

      [4] => Array 
       (
        [name] => fieldval[2][2][] 
        [value] => day 
       ) 

      [5] => Array 
       (
        [name] => fieldval[3][4][] 
        [value] => 23 
       ) 

      [6] => Array 
       (
        [name] => fieldval[1][1][] 
        [value] => 1 
       ) 

      [7] => Array 
       (
        [name] => fieldval[1][1][] 
        [value] => mb 
       ) 

      [8] => Array 
       (
        [name] => fieldval[1][3][] 
        [value] => 200 
       ) 

      [9] => Array 
       (
        [name] => fieldval[1][3][] 
        [value] => mb 
       ) 

      [10] => Array 
       (
        [name] => plan_type 
        [value] => free 
       ) 

      [11] => Array 
       (
        [name] => price 
        [value] => 
       ) 

      [12] => Array 
       (
        [name] => sell_type 
        [value] => up 
       ) 

     ) 

) 

Jetzt möchte ich dieses Array-Format ändern, um dies zu mögen

Array 

( [app_id] => Array ( [ 0] => 1 [1] => 2 [2] => 3 )

[fieldval] => Array 
    (
     [2] => Array 
      (
       [2] => Array 
        (
         [0] => 1 
         [1] => day 
        ) 

      ) 

     [3] => Array 
      (
       [4] => Array 
        (
         [0] => 23 
        ) 

      ) 

     [1] => Array 
      (
       [1] => Array 
        (
         [0] => 1 
         [1] => mb 
        ) 

       [3] => Array 
        (
         [0] => 200 
         [1] => mb 
        ) 

      ) 

    ) 

[plan_type] => free 
[price] => 
[sell_type] => up 

)

wie kann ich das tun

+0

helfen, wenn Sie in PHP abrufen Werte wollen, dann versuchen: 'print_r ($ _ GET);' –

+0

Ich bin mit post-Methode in meinem Ajax-Code. wenn ich durch get-Methoden drucken gibt es leer und wenn ich Drucknachkontrolle mit es gibt Werte in demselben Format ich es in Frage –

+0

Geige erwähnt, jemand – Chay22

Antwort

0

wie dieses einen Formular-Tag mit der ID verwenden.

<form id="my-form-name" method="POST" action="http://something.com/"> 
    <!-- Your fields here--> 
    <input type="text" value="" name="fieldval[]" /> 
    <input type="text" value="" name="fieldval[]" /> 
</form> 

In Ihrem JS

var data =$("#my-form-name").serializeArray(); 
console.log(data); 

Jetzt haben Sie einen Array mit Ihren Daten eingibt. Hier

+0

es gibt mir Array wie diese 'Array ( [ Formulardaten] => Array ( [0] => Array ( [name] => fieldval [2] [2] [] [Wert] => 1 ) ) ) ' I will dies wie '[fieldval] => Array ( [2] => Array ( [2] => Array ( [0] => 1 [1] => Tag ) ) ) ' –

+0

können Sie eine foreach verwenden, um Daten zu erhalten, in Dein Backend. –

0

ist voll Beispiel

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
<form id="frm"> 
<input type="text" value="3" name="fieldval[1][4][]" > 
    <input type="text" value="43" name="fieldval[2][4][]" > 
    <input type="text" value="22" name="fieldval[3][4][]" > 
    <input type="text" value="65" name="fieldval[4][4][]" > 
<input type="button" value="click" id="click"> 
</form> 
<div id="results"></div> 
<script> 
$(document).ready(function(){ 
    $("#click").click(function(){ 

     var data =$("#frm").serializeArray(); 
     var fields = $(":input").serializeArray(); 
      jQuery.each(fields, function(i, field) { 
       $("#results").append(field.value + " "); 
    }); 


    }); 
}); 
</script> 

Ich hoffe, das

+0

es gibt mir Array wie diese 'Array ( [formdata] => Array ( [0] => Array ( [name] => fieldval [2] [2] [] [Wert] = > 1 ) ) ) ' ich möchte dies wie ' [fieldval] => Array ( [2] => Array ( [2] => Array ( [0] = > 1 [1] => Tag ) ) ) ' –

Verwandte Themen