重写serialize方法,使文本框在没有输入的情况下,使用默认值

Posted zhuyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写serialize方法,使文本框在没有输入的情况下,使用默认值相关的知识,希望对你有一定的参考价值。

jQuery.fn.extend({ serialize: function () { return jQuery.param(this.serializeArray()) }, serializeArray: function () { var rbracket = /[]$/, rCRLF = /
?
/g, rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, rsubmittable = /^(?:input|select|textarea|keygen)/i; var rcheckableType = (/^(?:checkbox|radio)$/i); var rtagName = (/<([a-z][^/>x20	
f]+)/i); var rscriptType = (/^$|/(?:java|ecma)script/i); return this.map(function () { var elements = jQuery.prop(this, "elements"); return elements ? jQuery.makeArray(elements) : this }).filter(function () { var type = this.type; return this.name && !jQuery(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type)) }).map(function (i, elem) { var val = jQuery(this).val(); if (val == null) { return null } if (val == "") { if (jQuery(this).is("[default]")) { val = jQuery(this).attr("default") } } if (Array.isArray(val)) { return jQuery.map(val, function (val) { return { name: elem.name, value: val.replace(rCRLF, "
") } }) } return { name: elem.name, value: val.replace(rCRLF, "
") } }).get() } });

  文本框的添加属性 default

<input type="input" name="name" default="test"/>

  

以上是关于重写serialize方法,使文本框在没有输入的情况下,使用默认值的主要内容,如果未能解决你的问题,请参考以下文章

MS ACcess 使文本框在按钮单击时可见

我如何使所有文本框在wpf中对齐在同一垂直位置?

Cordova Phonegap 表单输入框在 iOS 上不起作用

自动完成文本框在单击文本框时不显示结果

xamarin.forms 文本输入框在有的手机不显示

xamarin.forms 文本输入框在有的手机不显示