Browse code

Arreglo de error al hacer submit

NikaZhenya authored on 08/04/2018 00:31:15
Showing 2 changed files
... ...
@@ -26,7 +26,7 @@
26 26
                 </div>
27 27
             </div>
28 28
             <div id="filtro">
29
-                <form>
29
+                <form id="formulario">
30 30
                     <input type="search" id="buscador" placeholder="Buscar" value="" tabindex="-1" autocapitalize="off" autocomplete="off" autocorrect="off">
31 31
                 </form>
32 32
             </div>
... ...
@@ -1,7 +1,12 @@
1
-var timer
1
+var old_value = '',
2
+    timer
2 3
 
3 4
 // Habilita el buscador
4 5
 function enlable_search () {
6
+    document.getElementById('formulario').addEventListener('submit', function (e) {
7
+        e.preventDefault()
8
+    })
9
+
5 10
     document.getElementById('buscador').addEventListener('keyup', function () {
6 11
         start_timer()
7 12
     })
... ...
@@ -18,7 +23,7 @@ function start_timer () {
18 18
 
19 19
 // Realiza la búsqueda
20 20
 function searching () {
21
-    var valor = document.getElementById('buscador').value.trim().replace(/\s+/g, " "),
21
+    var value = document.getElementById('buscador').value.trim().replace(/\s+/g, " "),
22 22
         section = document.getElementsByTagName('section')[0],
23 23
         index = 0
24 24
 
... ...
@@ -29,10 +34,10 @@ function searching () {
29 29
 
30 30
 	// Limpia el temporizador y la sección
31 31
 	clearInterval(timer)
32
-    section.innerHTML = ''
33 32
 
34 33
     // Inicia la búsqueda si no está vacío
35
-    if (valor != '') {
34
+    if (value != '' && old_value != transliterar(value)) {
35
+        section.innerHTML = ''
36 36
         section.classList.add('waiting')
37 37
 
38 38
         // Realiza la búsqueda
... ...
@@ -41,11 +46,13 @@ function searching () {
41 41
             .node('dictionary.*', function(term){
42 42
                 var word = term.word,
43 43
                     definition = term.definition,
44
-                    regex = new RegExp('^' + transliterar(valor), 'g'),
44
+                    regex = new RegExp('^' + transliterar(value), 'g'),
45 45
                     result = word.match(regex)
46 46
 
47 47
                 // Si el término cargado tiene alguna coincidencia con la palabra buscada
48 48
                 if (result != null) {
49
+                    old_value = transliterar(value)
50
+
49 51
                     // Aumenta el índice así como agrega el contenido
50 52
                     index = ++index
51 53
                     section.innerHTML += '<p><strong>' + word + '</strong>. ' + definition + '</p>'
... ...
@@ -67,7 +74,7 @@ function searching () {
67 67
             .done(function () {
68 68
                 section.classList.remove('waiting')
69 69
             })
70
-    } else {
70
+    } else if (value == '') {
71 71
         section.innerHTML = '<p id="start">Para buscar escribe en el campo de búsqueda…</p>'
72 72
     }
73 73
 }