关于使用.serialize()方法封装表单时获取不到表单数据的问题

$("#sub").click(function(){
                                   // var user=form1.user.value();
                                   //   var   pwd=$("div").$("form").$("input[name='pwd']").val();
                                   //     var question=$("div").$("form").$("input[name='question']").val();
                                   //     var answer=$("div").$("form").$("input[name='answer']").val();
                                   //     var email=$("div").$("form").$("input[name='email']").val();
                                    // $("div").text($("form").serialize());
                                    // ($("form[name='form1']").serialize());
                                    if(flag_user && flag_pwd && flag_repwd && flag_email && flag_question && flag_answer){	//所有数据都符合要求时
                                            $.ajax({
                                            url: "/blink_war_exploded/RegisterServlet?action=save",
                                            type:'POST',
                                                data:$("form[name='form1']").serialize(),
                                            // data: {
                                            //     user:user,
                                            //     pwd:pwd,
                                            //     question:question,
                                            //     answer:answer,
                                            //     email:email,
                                            // },
                                            success: function (data) {
                                                if (data !== "") {
                                                    alert(data);
                                                }
                                            },
                                            error: function (status) {
                                                alert("\n状态: " + status);
                                            }
                                        })
                                    }else{
                                        alert("您填写的注册信息不合法,请确认!");
                                    }

                                });

.serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。
我有一个id为login_form的表单,在jQuery中我使用 $("#login_form").serialize() 想要封装表单数据时却发现的值为空。
后来发现如果想要使用.serialize() 方法正确获取数据需要注意一下几点:
1.只会将“成功的控件”序列化为字符串。
2.如果不使用按钮来提交表单,则不对提交按钮的值序列化。
3.如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性。

关于使用.serialize()方法封装表单时获取不到表单数据的问题
$(‘selector’).serialize()方法获取不到表单数据的错误
jQuery serialize()方法获取不到数据,alert结果为空

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值