I'm trying to pass array from ajax to php (controller).
What is wrong with second code as var_dump($data) of first code returns appropriate content and second returns NULL?
FIRST. GOOD.
function myFunction() {
var elementy = document.getElementsByClassName('inputISBN');
var data = elementy[0].value;
$.ajax({
url: "{{ path('test') }}",
type: "POST",
data: { "data": data }
});
}
SECOND. BAD
function myFunction() {
var elementy = document.getElementsByClassName('inputISBN');
var data = [];
data[elementy[0].name] = elementy[0].value;
$.ajax({
url: "{{ path('test') }}",
type: "POST",
data: { "data": data }
});
}
THIRD. UGLY
var elementy = document.getElementsByClassName('inputISBN');
undefined
var data = [];
undefined
data[elementy[0].name] = elementy[0].value;
"667"
Third one is line by line from the socond code written in browser console. And it's return what it should.
edit
and data is pulled out from here:
<input type="number" class="inputISBN" size="2" name="exampleName"
value="666" onchange="myFunction()">