zoukankan      html  css  js  c++  java
  • jq form表单自动赋值

    (function ($) {
    $.fn.extend({
    initForm: function (options) {
    //默认参数
    var defaults = {
    formdata: "",
    isDebug: true //是否需要调试,这个用于开发阶段,发布阶段请将设置为false,默认为false,true将会把name value打印出来
    }
    //如果传入的json字符串,将转为json对象
    var tempData = "";
    if ($.type(options) === "string") {
    defaults.formdata = JSON.parse(options);
    } else {
    defaults.formdata = options;
    }
    //设置参数
    // var setting = $.extend({}, defaults, tempData);
    var setting = defaults;
    var form = this;
    formdata = setting.formdata;
     
    //如果传入的json对象为空,则不做任何操作
    if (!$.isEmptyObject(formdata)) {
    var debugInfo = "";
    $.each(formdata, function (key, value) {
    //是否开启调试,开启将会把name value打印出来
    if (setting.isDebug) {
    debugInfo += "name:" + key + "; value:" + value + " ";
    }
    //表单处理
    var formField = form.find("[name='" + key + "']");
    if ($.type(formField[0]) === "undefined") {
    if (setting.isDebug) {
    console.warn("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 if (formField.attr("type") == "checkbox") {
    $("input:checkbox[name='" + key + "'][value='" + value + "']").attr("checked", "checked");
    } else {
    formField.val(value);
    }
    } else if (fieldTagName == "label") {
    formField.html(value);
    } else {
    formField.val(value);
    }
    }
    //图片链接处理form.find("img[fieldata=img_url]")
    var formImage = form.find("img[fieldata=" + key + "]");
    if ($.type(formImage[0]) != "undefined") {
    formImage.attr("src", value);
    }
    //a链接处理
    var formLink = form.find("a[fieldata=" + key + "]");
    if ($.type(formLink[0]) != "undefined") {
    formLink.attr("href", value);
    }
    })
    if (setting.isDebug) {
    console.log(debugInfo);
    }
    }
    return form; //返回对象,提供链式操作
    }
    });
    })(jQuery)
  • 相关阅读:
    ckeditor添加自定义按钮整合swfupload实现批量上传图片
    H5移动端适配之px转vw(附工具)
    原生js实现复制文本到粘贴板
    快速删除项目中的输出日志console.log
    toString和valueOf使得对象访问时显示一个特定格式的字符串,但是可以进行数字运算
    __defineGetter__和__defineSetter__在日期中的应用
    观察者模式(订阅-发布者模式)
    原生js扫雷代码
    身份证验证思路及代码
    IMEI校验思路及代码
  • 原文地址:https://www.cnblogs.com/liuq1991/p/7911319.html
Copyright © 2011-2022 走看看