在JavaScript中为表单元素生成键值对
Making Key Value pair for the form elements in JavaScript
我有一个模块,其中创建的表单是动态的。因此,输入的数量可以一直推迟。此外,数组键也可以延迟。
我目前张贴表格的方法是:
name=form_options[选项1]value=1
在使用POST提交表单时,我在$_POST中获得了数组形式的表单,如下所示。
form_options(
option_1 => 1
)
但是,现在我正在尝试使用AJAX来实现同样的东西。因此,我需要一个通用模块来获取所有表单值。我找到了一种方法。
var objectResult = $('#options_form').serializeArray();
console.log(objectResult);
这给了我这样的结果:
0: Object
name: "form_options[option_1]"
value: "1"
如何解析这个结果以获得类似$_POST数组的数组,我可以将其作为AJAX中的数据发送。
p.S:所有表单元素都有name字段作为form_options[key]
您应该使用它来获取PHP文件中的post数据。
//你可以这样使用var objectResult=$('#options_form').serializeArray();$.ajax({type:"POST",//输入请求类型GET/POSTurl:'action.php',//在此处输入您的ajax文件url,dataType:'json',//如果您使用的是dataTypeJSON,那么在php文件中使用die(json_encode($resultArray));data:objectResult,//将您的对象放在此处beforeSend:function(){警报("之前");},错误:函数(数据){console.log(数据);},成功:功能(响应){console.log(响应);}});//在php文件中,这样获取值$_POST['form_options']
这样尝试,在JQuery中:
var objectResult = $('#options_form').serializeArray();
$.ajax({
type: 'POST',
url: 'yoururl'',
data: objectResult ,
success:function(data){
alert(data);
}
});
在您的php:中
<?php echo var_dump($_POST);?>
您可以直接将jquery serialize
与ajax一起使用,不需要使用serializeArray
:
$.ajax({
type:"post",
url:"formHandleSkript.php",
data: $("#options_form").serialize(),
success: function(response){
$(".result").html(response);
}
});
有关更多信息,请参阅http://api.jquery.com/serialize/
相关文章:
- 正在数组中存储键值对
- 如何将新的键/值对元素添加到现有数组
- 在键值对中对求和值进行下划线
- 返回由键/值对定义的数组
- 在url参数javascript中存储键值对列表
- 将数组转换为键值对
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- 使用jQuery从ajax调用访问键值对
- 将动态键值对传递给函数
- d3使用键值对对对多个值的数据进行分组
- JS在封装对象中查找键值对
- 从html标记格式的字符串中提取键值对
- JavaScript 在函数中声明键值对
- 在JavaScript中为表单元素生成键值对
- 如何给$('inputs')每个函数,以将数据存储为 asp.net 中的键值对
- 从 JSON 获取键值对而不使用 .(DOT) 在 Java 脚本或 jquery 中
- 将HTML元素设置为随机对象键值对
- 为每个元素查找data()键值对
- 删除嵌套的json元素并显示为单独的键值对
- 仅将键:值对附加到我的数组元素一次