Operaciones Básicas con jQuery

```

  var opciones = {
    beforeSubmit: function () { },  // Función de callback antes de enviar
    success: function (data) { },   // Función de callback después de enviar
  };
  // Validación del formulario
  $('#formulario').validate({
    errorLabelContainer: $("div.contenedor-error"),
    submitHandler: function (form) {
      $(form).ajaxSubmit(opciones);
    }
  });
  

### Cálculo de la Diferencia entre Dos Fechas

 
    ```

      function calcularDiferenciaFechas(fecha) {
        var ahora = new Date();
        var segundos = Math.abs((fecha.getTime() - ahora.getTime()) / 1000);
        var dias = Math.floor(segundos / (60 * 60 * 24));
        var anios = Math.floor(dias / 365);
        var meses = (ahora.getFullYear() * 12 + ahora.getMonth()) - (fecha.getFullYear() * 12 + fecha.getMonth());
        var horas = Math.floor((segundos / 3600) % 24);
        var minutos = Math.floor((segundos / 60) % 60);
        var segundosRestantes = Math.floor(segundos % 60);
        if (anios >= 1) {
          resultado = "" + anios + " años atrás";
        } else if (meses > 1) {
          resultado = "" + meses + " meses atrás";
        } else if (dias >= 1) {
          resultado = "" + dias + " días atrás";
        } else if (horas >= 1) {
          resultado = "" + horas + " horas atrás";
        } else if (minutos >= 1) {
          resultado = "" + minutos + " minutos atrás";
        } else {
          resultado = "justo ahora";
        }
        return resultado;
      }
    

Deshabilitar el Envío de un Formulario

```

  $("#formulario").submit(function (e) {
    e.preventDefault();
  });
  

### Uso de ECharts para Visualización de Datos

ECharts es una biblioteca de gráficos en JavaScript que se ejecuta de manera fluida en PC y dispositivos móviles, compatible con la mayoría de los navegadores modernos. Se basa en ZRender, una biblioteca ligera de Canvas.

### Métodos indexOf() y lastIndexOf()

 
    ```

      // Verificar si una cadena contiene un substring
      var prueba = ",1,";
      prueba.indexOf("," + prueba + ",") != -1;

      // Obtener una subcadena a partir de una posición específica
      var _st_pwd = user_pwd.substring(user_pwd.indexOf('+'));

      // Obtener una subcadena desde el inicio hasta una posición específica
      var _s_pwd = user_pwd.substring(0, user_pwd.lastIndexOf('+'));
    

Obtaner el Valor de un Celda de Tabla

```

  $("#tabla tr td").eq(1).text();
  

### Contador Regresivo para Botones

 
    ```

      function contadorRegresivo(s, obj) {
        s--;
        if (s == 0) {
          obj.innerHTML = 'Enviar código';
        } else {
          obj.innerHTML = s + ' segundos para reenviar';
          setTimeout(function () {
            contadorRegresivo(s, obj);
          }, 1000);
        }
      }
    

Habilitar y Deshabilitar un Botón

```

  // Deshabilitar botón
  $('#botonSeleccion').attr("disabled", true);
  // Habilitar botón
  $('#botonSeleccion').attr("disabled", false);
  

### Cargar una Nueva Página sin Refrescar

 
    ```

      function cargarPagina(url) {
        var cuerpoPagina = $('.contenedor-contenido');
        $.ajax({
          type: "GET",
          cache: false,
          url: url,
          dataType: "html",
          success: function (res) {
            if (res == '"needlogin"') {
              window.location.href = "/home/login";
            } else {
              if (typeof window.historial != "undefined") {
                var i = window.historial.indexOf(url);
                if (i != -1) {
                  window.historial.splice(i, 1);
                }
                if (window.historial.length > 10) {
                  window.historial.shift();
                }
                window.historial.push(url);
              } else {
                window.historial = [];
                window.historial.push(url);
              }
              cuerpoPagina.html(res);
            }
          },
          error: function (xhr, ajaxOptions, thrownError) {
            cuerpoPagina.html('<h4 style="font-family:Microsoft YaHei;">Error de conexión al servidor, por favor revisa tu red...</h4>');
          },
          async: false
        });
      }
    

Selección de Todos los Elementos

```

  $("#seleccionarTodo").on("click", function () {
    if (this.checked) {
      $("input:checkbox[name='checkvideo']").prop("checked", true);
    } else {
      $("input:checkbox[name='checkvideo']").prop("checked", false);
    }
  });
  

### Descargar un Archivo con jQuery

 
    ```

      var contenido = "contenido del archivo!";
      var datos = new Blob([contenido], { type: "text/plain;charset=UTF-8" });
      var urlDescarga = window.URL.createObjectURL(datos);
      var enlace = document.createElement("a");
      enlace.href = urlDescarga;
      enlace.download = "nombre_archivo.txt";
      enlace.click();
      window.URL.revokeObjectURL(datos);
    

Solución para Errores de Envío de HTML con AJAX en C#

Agregar ValidateRequest="false" en la etiqueta &lt;%@ page %&gt; y configurar web.config:

```

  <system.web>
    <httpruntime requestvalidationmode="2.0"></httpruntime>
  </system.web>
  

### Métodos para Agregar Contenido en Elementos

Los métodos `append`, `prepend`, `after` y `before` permiten agregar contenido en diferentes posiciones dentro o alrededor de un elemento seleccionado.

### Obtener Parámetros de la URL

 
    ```

      function obtenerParametro(nombre) {
        var regex = new RegExp("(^|&)" + nombre + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(regex);
        if (r != null) return unescape(r[2]); return null;
      }
      $(document).ready(function(){
        var pagina = obtenerParametro("userId");
      });
    

Convertir un Timestamp a Fecha

```

  function convertirTimestamp(tiempo) {
    var fecha = new Date(tiempo);
    var anio = fecha.getFullYear();
    var mes = fecha.getMonth() + 1;
    var dia = fecha.getDate();
    var hora = fecha.getHours();
    var minuto = fecha.getMinutes();
    var segundo = fecha.getSeconds();
    return anio + "-" + mes + "-" + dia + " " + hora + ":" + minuto;
  }
  

### Convertir un Timestamp en C#

 
    ```

      var c = date.replace("/Date(", "").replace(")/", "");
      var ahora = new Date(parseInt(c));
      var anio = ahora.getFullYear();
      var mes = ahora.getMonth() + 1;
      var dia = ahora.getDate();
      var hora = ahora.getHours();
      var minuto = ahora.getMinutes();
      var segundo = ahora.getSeconds();
      return anio + "-" + (mes < 10 ? "0" + mes : mes) + "-" + (dia < 10 ? "0" + dia : dia) + " " + (hora < 10 ? "0" + hora : hora) + ":" + (minuto < 10 ? "0" + minuto : minuto) + ":" + (segundo < 10 ? "0" + segundo : segundo);
    

Convertir una Cadena de Array a Array

```

  var imagenes = '["2016-11-22/f22faadc-9b45-49c5-ace9-e77fbfbcc86b.jpg","2016-11-22/28929bc2-a865-45c8-aa0b-0584408e1ed3.jpg"]';
  // Primer método
  var img = eval(imagenes);
  // Segundo método
  var img = JSON.parse(imagenes);
  

### Obtener el Valor Seleccionado de un Select

 
    ```

      $("#idLista").val();
    

Obtener el Texto Seleccionado de un Select

```

  $("#idLista").find("option:selected").text();
  

### Convertir Objeto a JSON y Viceversa

 
    ```

      // Convertir objeto a JSON
      var js = JSON.stringify(jsonStr);

      // Parsear JSON
      var obj = JSON.parse(agent.houseImgs);

      // Crear un objeto JSON
      var js = { "name": $(nombre).val(), "phone": $(telefono).val(), "carNumber": $(numerosAuto).val(), "remark": comentario, "imgurl": urlImagen };

      // Inicializar un array
      var arreglo = new Array();

      // Agregar un objeto al array
      arreglo.push(objetoJson);
    

Contador Regresivo de 60 Segundos

```

  var contador = 60;
  function enviarCorreo(obj) {
    if (contador == 0) {
      obj.removeAttribute("disabled");
      obj.value = "Obtener código";
      contador = 60;
      return;
    } else {
      obj.setAttribute("disabled", true);
      obj.value = "Reenviar (" + contador + ")";
      contador--;
    }
    setTimeout(function () {
      enviarCorreo(obj);
    }, 1000);
  }
  

### Limpiar un Formulario

 
    ```

      function limpiarFormulario() {
        $(':input', '#formularioRegistro')
          .not(':button, :submit, :reset, :hidden')
          .val('')
          .removeAttr('checked')
          .removeAttr('selected');
      }
    

Obtener el Elemento Padre de un iframe

```

  $("#sidebar-nav", parent.document)
  

</div>

Etiquetas: jQuery AJAX ECharts JavaScript C#

Publicado el 9-9 06:42