jquery如何实现获取表单数据以后以json格式提交

jackykwan4343 2014-10-14 03:12:55
如题,jquery如何实现获取表单数据以后,以json格式提交表单的功能?我的页面结构如下所示:
HTML:
<form>
<input id="a1" type="input" value="" name="a1">
<input id="a2" type="input" value="" name="a2">
<input id="a3" type="input" value="" name="a3">
<input id="a4" type="input" value="" name="a4">
...
<select id="ax" name="ax">
<option value="0">选项1</option>
<option value="1">选项2</option>
</select>
<input id="submit" type="submit" value="提交" name="submit">
</form>

jQuery:
<script src="../jquery.js" type="text/javascript"></script> 
<script>
jQuery(document).ready(function() {
var func = function(){...}
$("#submit").click(function(){
func(
{
json格式的表单数据
}
);
}
});
</script>


如何写jquery里面的以json格式获取表单数据?
谢谢大神!
...全文
27684 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
烟花散尽13141 2016-07-02
  • 打赏
  • 举报
回复
http://blog.csdn.net/u013132051/article/details/51743627 这个是Form 转换成自己制定的格式的json对象
html_haha 2016-03-23
  • 打赏
  • 举报
回复
可以参考这2个方法: http://blog.jdk5.com/zh/convert-form-data-to-javascript-object-with-jquery/
xuzuning 2014-10-14
  • 打赏
  • 举报
回复
两种是一样的
s = {"a1":"xyz"};
alert(s.a1);
s = {a1:"xyz"};
alert(s.a1);
按标准,键也是要用引号括起的
jackykwan4343 2014-10-14
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning 的回复:
<script>
$(function() {
  $('#submit').click(function() {
    var d = {};
    var t = $('form').serializeArray();
    $.each(t, function() {
      d[this.name] = this.value;
    });
    alert(JSON.stringify(d));
  });
});
</script>
<form>
<input id="a1" type="input" value="" name="a1"><br>
<input id="a2" type="input" value="" name="a2"><br>
<input id="a3" type="input" value="" name="a3"><br>
<input id="a4" type="input" value="" name="a4"><br>
<select id="ax" name="ax">
<option value="0">选项1</option>
<option value="1">选项2</option>
</select><br>
<input id="submit" type="button" value="提交" name="submit">
</form>
这个方法可以。 补充问一下,提交的json格式是“a1”:"xyz"这样的格式,如何改写成a1:"xyz"格式? 谢谢!
KK3K2005 2014-10-14
  • 打赏
  • 举报
回复
$("#submit").click(function(){ var data = {}; $('[name^=]').each(function(){ var dom = $(this); data[dom.attr('name')] = dom.val(); }) func(data); }
xuzuning 2014-10-14
  • 打赏
  • 举报
回复
<script>
$(function() {
  $('#submit').click(function() {
    var d = {};
    var t = $('form').serializeArray();
    $.each(t, function() {
      d[this.name] = this.value;
    });
    alert(JSON.stringify(d));
  });
});
</script>
<form>
<input id="a1" type="input" value="" name="a1"><br>
<input id="a2" type="input" value="" name="a2"><br>
<input id="a3" type="input" value="" name="a3"><br>
<input id="a4" type="input" value="" name="a4"><br>
<select id="ax" name="ax">
<option value="0">选项1</option>
<option value="1">选项2</option>
</select><br>
<input id="submit" type="button" value="提交" name="submit">
</form>
jackykwan4343 2014-10-14
  • 打赏
  • 举报
回复
其实,我需要这个方法,就是要实现jNotify这个jquery插件的api功能,仿照它这个页面http://demos.myjqueryplugins.com/jnotify/,在自己的页面做这个功能。
slwsss 2014-10-14
  • 打赏
  • 举报
回复
引用 5 楼 andy15703166 的回复:
[quote=引用 4 楼 slwsss 的回复:] [quote=引用 2 楼 andy15703166 的回复:] 要求获取表单的数据是这种格式的:
{
a1: '';
a2: '';
a3: '';
a4: '';
...
ax: '';
}
var d={};$(form).find('input,select').each(function(){d[this.name]=this.value});console.log(d);
[/quote] 如何查看是否获取到? [/quote] console.log(454545) 按f12 在Console 可以看到
jackykwan4343 2014-10-14
  • 打赏
  • 举报
回复
引用 4 楼 slwsss 的回复:
[quote=引用 2 楼 andy15703166 的回复:] 要求获取表单的数据是这种格式的:
{
a1: '';
a2: '';
a3: '';
a4: '';
...
ax: '';
}
var d={};$(form).find('input,select').each(function(){d[this.name]=this.value});console.log(d);
[/quote] 如何查看是否获取到?
slwsss 2014-10-14
  • 打赏
  • 举报
回复
引用 2 楼 andy15703166 的回复:
要求获取表单的数据是这种格式的:
{
a1: '';
a2: '';
a3: '';
a4: '';
...
ax: '';
}
var d={};$(form).find('input,select').each(function(){d[this.name]=this.value});console.log(d);
jackykwan4343 2014-10-14
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
http://blog.csdn.net/violet_day/article/details/13999377 http://www.w3school.com.cn/jquery/ajax_serialize.asp
引用 1 楼 slwsss 的回复:
http://blog.csdn.net/violet_day/article/details/13999377 http://www.w3school.com.cn/jquery/ajax_serialize.asp
我是用
var jsonData = $("#formID").serializeArray();
这种方法,没有获取到数据
jackykwan4343 2014-10-14
  • 打赏
  • 举报
回复
要求获取表单的数据是这种格式的:
{
a1: '';
a2: '';
a3: '';
a4: '';
...
ax: '';
}
slwsss 2014-10-14
  • 打赏
  • 举报
回复
http://blog.csdn.net/violet_day/article/details/13999377 http://www.w3school.com.cn/jquery/ajax_serialize.asp

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧