快速获取input以及具有name属性元素的value

//获取某个标签(formSelector)下所有具有name属性的value
//返回以标签的name属性值为key 对应其value的对象
function(formSelector) {
      var result = {
        passed: true,
        reason: ''
      };
      var curForm = $(formSelector);
      var inputsArr = curForm.find('*[data-validate]'),
          len = inputsArr.length;
          curInput, passed = true, type, inputVal, validateRule;
      for (var i = 0; i < len; i++) {
        curInput = $(inputsArr[i]);
        inputVal = curInput.val().trim();
        validateRule = JSON.parse(curInput.attr('data-validate'));
        for(var k in validateRule) {
          switch (validateRule[k]) {
            case 'required':
              if(!inputVal) {
                passed = false;
                type = 'required';
              }
              break;
            case 'phone':
              if(!(/^1[3456789]\d{9}$/.test(inputVal))){
                passed = false;
                type = 'phone';
              }
              break;
            case 'mail':
              if(!(/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(inputVal))){
                passed = false;
                type = 'mail';
              }
              break;
          }
          if(!passed) {
            result.passed = false;
            result.reason = this.validateText[type] || '验证未通过'
            return result;
          }
        }
      }
      return result;
    }

//给input标签赋值  
//values为一个对象 对象中的key必须与 formSelector标签下面具有name属性的标签的name值对应
 function(formSelector, values) { 
      var valueArr = $(formSelector).find('*[name]');
      if(!valueArr.length) {return};
      $.each(valueArr, function(index, ele) {
        switch (ele.tagName) {
          default:
              values[ele.name] && (ele.value = values[ele.name]);
            break;
        }
      })
    }
发布了17 篇原创文章 · 获赞 11 · 访问量 566

猜你喜欢

转载自blog.csdn.net/weixin_45563734/article/details/102737437