【发布时间】:2015-07-08 15:19:16
【问题描述】:
我需要从 ajax 发送到 php 的字母数字数组中接收键和值的名称。
从此:
<input class="input" name="one" value="1" onchange="myFunction()">
<input class="input" name="two" value="2" onchange="myFunction()">
<input class="input" name="three" value="3" onchange="myFunction()">
从循环中解析出来的
{% for x in y %}
<input class="input" name="{{ x.k }}" value="{{ x.v }}" onchange="myFunction()">
{% endfor %}
我需要像这样打印_r():
Array
(
['one'] => 1,
['two'] => 2,
['three'] => 3,
)
如果我这样做:
function myFunction() {
var elementy = document.getElementsByClassName('input');
var data = {};
var key = elementy[0].name;
var value = elementy[0].value;
data = { key: value};
$.ajax({
url: "{{ path('test') }}",
type: "POST",
data: {data:data} ,
});
}
print_r($data) 返回:
Array
(
[key] => 1
)
如果我这样做:
function myFunction() {
var elementy = document.getElementsByClassName('input');
var data = {};
data = {elementy[0].name : elementy[0].value};
$.ajax({
url: "{{ path('test') }}",
type: "POST",
data: {data:data} ,
});
}
这行有Uncaught SyntaxError: Unexpected token [data = {elementy[0].name : elementy[0].value};
我需要这样做:
function myFunction() {
var data = [];
var elementy = document.getElementsByClassName('input');
for (var i = 0; i < elementy.length; i++){
data[elementy[i].name] = elementy[i].value;
}
$.ajax({
url: "{{ path('test') }}",
type: "POST",
data: {data:data}
});
}
但没有语法错误Uncaught SyntaxError: Unexpected token [
【问题讨论】:
标签: javascript php jquery arrays ajax