HTML5输入类型='数字'未包含在表单序列化

时间:2017-11-29 07:07:21

标签: html5 serialization

我有一个表格如下。当我尝试序列化时,显示除数字输入之外的所有字段。但是如果尝试将类型更改为文本,则它将包含在序列化中。我错过了什么吗?

  • 使用数字输入

    <form id="contact-form">
       <input type='text' name="FullName" />
       <input type='number' name="Age" />
    </form>
    

表格序列化输出= "FullName=Sam"

  • 将数字类型更改为文字

    <form id="contact-form">
       <input type='text' name="FullName" />
       <input type='text' name="Age" pattern="[0-9]*"/>
    </form>
    

表格序列化输出= "FullName=Sam&Age=23"

序列化方法 -

function serializeObject(obj) {
    var o = {};
    var a = obj.serializeArray();
    $.each(a, function () {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });

    return o;
}

1 个答案:

答案 0 :(得分:-1)

输入[type =&#39; number&#39;] 也可以使用。将其全部写为(&#34;输入[type =&#39;数字&#39;]&#34;)。serialize(); 。或者检查倒置逗号括号是否已正确关闭。