Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] error al presionar boton por segunda vez

Estas en el tema de error al presionar boton por segunda vez en el foro de Javascript en Foros del Web. Hola. Alguien sabe por qué mi código no funciona tras presionar el botón por segunda vez? Es decir, si aparece el mensaje error y relleno ...
  #1 (permalink)  
Antiguo 17/11/2013, 13:32
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
error al presionar boton por segunda vez

Hola. Alguien sabe por qué mi código no funciona tras presionar el botón por segunda vez? Es decir, si aparece el mensaje error y relleno un campo, pero no los dos debería volver a mostrarme la pantalla de error pero no lo hace.

Código Javascript:
Ver original
  1. function validate(){
  2. var fields = new Array;
  3. var fields = [document.getElementById('autor'),document.getElementById('titulo')];
  4. var err = 0;
  5. for (i=0;i<fields.length;i++){
  6. if (fields[i].value == ""){
  7. err++;
  8. }
  9. }
  10. if (err === 0){
  11. //Submit Form
  12. document.myform.submit();
  13. //document.getElementById('alerta').style.display="none";
  14. }else {
  15. document.getElementById('alerta').style.display="block";
  16. //alert("Please Fill Out All Of The Fields");
  17.  
  18. return false;
  19. }
  20. }
  #2 (permalink)  
Antiguo 17/11/2013, 13:42
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: error al presionar boton por segunda vez

Desde qué elemento llamas a la función de validar?
  #3 (permalink)  
Antiguo 17/11/2013, 15:26
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: error al presionar boton por segunda vez

Código Javascript:
Ver original
  1. <input type="button" value="Buscar" onClick="validate();"  onClick="validate();"/>

mirando en firebug obtengo esto

Uncaught TypeError: Cannot read property 'style' of null buscar.html:60


por lo que debería solucionar que cuando cierro el diálogo no desaparezca..mmmm...probaré.trabajo con bootstrap y eso lo lía un poco..

Última edición por charlyta; 17/11/2013 a las 15:31
  #4 (permalink)  
Antiguo 18/11/2013, 08:11
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: error al presionar boton por segunda vez

Comprueba que al elemento le has puesto un ID de "alerta".
  #5 (permalink)  
Antiguo 18/11/2013, 11:21
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: error al presionar boton por segunda vez

Hola y gracias por la atención al tema. Esta ha sido mi solución:

div de alerta:

Código HTML:
Ver original
  1. <div id="alerta" class="alert alert-error"  style="display: none">
  2.                         <!--<button type="button" class="close" data-dismiss="alert">×</button>-->
  3.                          <a class="close" onclick="$('#alerta').hide()">×</a>  
  4.                         <h4>Se ha producido el siguiente error:</h4>
  5.                         No ha indicado ningún término de búsqueda.
  6.                     </div>



javascript:


Código Javascript:
Ver original
  1. <script>
  2. function validate(){
  3. var fields = new Array;
  4. var fields = [document.getElementById('autor'),document.getElementById('titulo')];
  5. var err = 0;
  6.  
  7.  
  8. for (i=0;i<fields.length;i++){
  9.  
  10. if (fields[i].value == ""){
  11. err++;
  12. }
  13. }
  14.  
  15. if (err === 0){
  16.  
  17. document.myform.submit();
  18.  
  19. }else {
  20.  
  21. $('#alerta').show()
  22.  
  23.  
  24. return false;
  25. }
  26. }
  27. </script>
  28. <script>
  29. $(function(){
  30.     $("[data-hide]").on("click", function(){
  31.         $("." + $(this).attr("data-hide")).hide();
  32.  
  33.     });
  34. });
  35. </script>


acción:

Código HTML:
Ver original
  1. <input type="button" value="Buscar" onClick="validate();" onClick="validate();"/>

Etiquetas: boton, funcion, presionar, segunda, vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:58.