瀏覽代碼

Refactor to not use pseudo jQuery selector ':emptyVal'

JC Brand 8 年之前
父節點
當前提交
4dd8fa655e
共有 2 個文件被更改,包括 9 次插入9 次删除
  1. 9 5
      src/converse-register.js
  2. 0 4
      src/utils.js

+ 9 - 5
src/converse-register.js

@@ -433,11 +433,15 @@
                      *      (Event) ev - the submit event.
                      *      (Event) ev - the submit event.
                      */
                      */
                     if (ev && ev.preventDefault) { ev.preventDefault(); }
                     if (ev && ev.preventDefault) { ev.preventDefault(); }
-                    var $empty_inputs = this.$('input.required:emptyVal');
-                    if ($empty_inputs.length) {
-                        $empty_inputs.addClass('error');
-                        return;
-                    }
+                    var has_empty_inputs = _.reduce(document.querySelectorAll('input.required'),
+                        function (result, input) {
+                            if (input.value === '') {
+                                input.classList.add('error');
+                                return result + 1;
+                            }
+                            return result;
+                        }, 0);
+                    if (has_empty_inputs) { return; }
                     var $inputs = $(ev.target).find(':input:not([type=button]):not([type=submit])'),
                     var $inputs = $(ev.target).find(':input:not([type=button]):not([type=submit])'),
                         iq = $iq({type: "set"}).c("query", {xmlns:Strophe.NS.REGISTER});
                         iq = $iq({type: "set"}).c("query", {xmlns:Strophe.NS.REGISTER});
 
 

+ 0 - 4
src/utils.js

@@ -63,10 +63,6 @@
         return deferred.promise();
         return deferred.promise();
     };
     };
 
 
-    $.expr[':'].emptyVal = function(obj){
-        return obj.value === '';
-    };
-
     $.fn.hasScrollBar = function() {
     $.fn.hasScrollBar = function() {
         if (!$.contains(document, this.get(0))) {
         if (!$.contains(document, this.get(0))) {
             return false;
             return false;