I need to store some input in a hidden field, so when I print the post-request, I get:
Array ( [0]=>1 [1]=>2 [2]=>3 )   I already tried:
var elems = []; elems.push['1']; elems.push['2']; elems.push['3'];  $('#input_hidden_field').val(elems);   But it does not work, anybody could help me with this?
With an array, you store a collection of elements you can access by their position (or index). Objects take that concept further by providing a way to structure related data that's easy to read and retrieve using key/value pairs. It's common to combine the two by creating an array of objects.
If you want to post an array you must use another notation: foreach ($postvalue as $value){ <input type="hidden" name="result[]" value="$value."> }
You can parse your array into a JSON-string to store it:
.push() is a function, therefore it needs () and not the [] array-syntax.
var elems = []; elems.push('1'); elems.push('2'); elems.push('3');  $('#input_hidden_field').val(JSON.stringify(elems)); //store array  var value = $('#input_hidden_field').val(); //retrieve array value = JSON.parse(value);   To create an object just change the definition of elems and the storage of the values:
var elems = {}; elems[0] = '1'; elems[1] = '2'; elems[2] = '3';   Demo
Reference
.stringify()
.parse()
JS
var elems = []; elems.push['1']; elems.push['2']; elems.push['3']; $('#input_hidden_field').val(JSON.stringify(elems));   PHP
$elems = json_decode($_POST['hidden_input_name'], true); 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With