html表单赋值提交,jQuery自动给表单赋值
/*
* jquery 初始化form插件,傳入一個json對象,為form賦值
* version: 1.0.0-2013.06.24
* @requires jQuery v1.5 or later
* Copyright (c) 2013
* note: 1、此方法能賦值一般所有表單,但考慮到checkbox的賦值難度,以及表單中很少用checkbox,這里不對checkbox賦值
* 2、此插件現在只接收json賦值,不考慮到其他的來源數據
* 3、對于特殊的textarea,比如CKEditor,kindeditor...,他們的賦值有提供不同的自帶方法,這里不做統一,如果項目中有用到,不能正確賦值,請單獨賦值
*/
(function($){
$.fn.extend({
initForm:function(options){
//默認參數
var defaults = {
jsonValue:"",
isDebug:false//是否需要調試,這個用于開發階段,發布階段請將設置為false,默認為false,true將會把name value打印出來
}
//設置參數
var setting = $.extend({}, defaults, options);
var form = this;
jsonValue = setting.jsonValue;
//如果傳入的json字符串,將轉為json對象
if($.type(setting.jsonValue) === "string"){
jsonValue = $.parseJSON(jsonValue);
}
//如果傳入的json對象為空,則不做任何操作
if(!$.isEmptyObject(jsonValue)){
var debugInfo = "";
$.each(jsonValue,function(key,value){
//是否開啟調試,開啟將會把name value打印出來
if(setting.isDebug){
alert("name:"+key+"; value:"+value);
debugInfo += "name:"+key+"; value:"+value+" || ";
}
var formField = form.find("[name='"+key+"']");
if($.type(formField[0]) === "undefined"){
if(setting.isDebug){
alert("can not find name:["+key+"] in form!!!");//沒找到指定name的表單
}
} else {
var fieldTagName = formField[0].tagName.toLowerCase();
if(fieldTagName == "input"){
if(formField.attr("type") == "radio"){
$("input:radio[name='"+key+"'][value='"+value+"']").attr("checked","checked");
} else {
formField.val(value);
}
} else if(fieldTagName == "select"){
//do something special
formField.val(value);
} else if(fieldTagName == "textarea"){
//do something special
formField.val(value);
} else {
formField.val(value);
}
}
})
if(setting.isDebug){
alert(debugInfo);
}
}
return form;//返回對象,提供鏈式操作
}
});
})(jQuery)
總結
以上是生活随笔為你收集整理的html表单赋值提交,jQuery自动给表单赋值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乡村音乐选秀比赛《My Kind of
- 下一篇: html5 hgroup,HTML5 h