Foros del Web » Programando para Internet » Javascript »

Problema validar formulario

Estas en el tema de Problema validar formulario en el foro de Javascript en Foros del Web. Cordial saludo, Tengo el siguiente inconveniente.... tengo un formulario el cual al dar el boton enviar me envia a una funcion en javascript para validar ...
  #1 (permalink)  
Antiguo 26/09/2006, 10:39
 
Fecha de Ingreso: mayo-2004
Ubicación: Manizales-Colombia
Mensajes: 97
Antigüedad: 20 años
Puntos: 0
Problema validar formulario

Cordial saludo,

Tengo el siguiente inconveniente.... tengo un formulario el cual al dar el boton enviar me envia a una funcion en javascript para validar que si se ha escrito un campo... la primera vez si me lo valida, pero si le vuelvo a dar clic en el boton ya no me hace la verificacion en javascript... me toca recargar la pagina.... QUE HAGO PARA SOLUCIONAR ESTE PROBLEMA...

//html
<input type="button" name="sbEnviar" value="Adicionar" class="boton1" onclick="adicionar_categoria(this.form)" />

///javascript
function adicionar_categoria(form)
{
var err = 0;
var estado = "false";
if (form.txtNombre.value == "")
{
var divid = document.getElementById('nombreErr');
divid.innerHTML = "Escriba el nombre de la categoria.";
err++;
}
}
__________________
La vida es el presente, pero para
trabajar en su futuro... :cool:

Suerte y Pulso.... :cool:
  #2 (permalink)  
Antiguo 27/09/2006, 02:51
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61

No está claro por qué dices que no realiza la comprobación. Tal y como está el código siempre la hace. A qué te refieres? a que sigue apareciendo el cartel de error?

Prueba así:
Código:
function adicionar_categoria(form)
{
var divid = document.getElementById('nombreErr');
divid.innerHTML="";
var err = 0;
var estado = "false";
if (form.txtNombre.value == "")
{

divid.innerHTML = "Escriba el nombre de la categoria.";
err++;
}
}
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 27/09/2006, 14:29
 
Fecha de Ingreso: mayo-2004
Ubicación: Manizales-Colombia
Mensajes: 97
Antigüedad: 20 años
Puntos: 0
Problema validacion

Hola...

Tengo el siguiente formulario....

Código:
<form name="frmEstructura" method="POST" action="manejoCategoria.php">
    <input type="hidden" name="hdAccion" id="hdAccion" value="">
      <table name="tblEstructura" id="tblEstructura" class="tablaGris">
	      <tr>
	        <td class="labels"><label for="idPrioridad">Prioridad:</label></td>
	        <td><select name="sltPrioridad"  id="idPrioridad" tabindex="1">
	              <?php if($_GET['prioridad']==1) { ?>
	                       <option value="1" selected>1</option>
	              <?php } else { ?>
			               <option value="1">1</option>
	              <?php } ?>
   	              <?php if($_GET['prioridad']==2) { ?>
	                       <option value="2" selected>2</option>
	              <?php } else { ?>
			               <option value="2">2</option>
	              <?php } ?>
   	              <?php if($_GET['prioridad']==3) { ?>
	                       <option value="3" selected>3</option>
	              <?php } else { ?>
			               <option value="3">3</option>
	              <?php } ?>
   	              <?php if($_GET['prioridad']==4) { ?>
	                       <option value="4" selected>4</option>
	              <?php } else { ?>
			               <option value="4">4</option>
	              <?php } ?>
   	              <?php if($_GET['prioridad']==5) { ?>
	                       <option value="5" selected>5</option>
	              <?php } else { ?>
			               <option value="5">5</option>
	              <?php } ?>
      		    </select></td>
	      </tr>
	      <tr>
		    <td class="labels"><label for="idNombre">Nombre:</label></td>
		    <td>
			  <div id="nombreErr" class="error"></div>
			  <input name="txtNombre" id="idNombre" type="text" tabindex="2" value="<?php echo $_GET['nombre'] ?>"/>
			</td>  
	      </tr>
	      <tr>
	        <td  class="labels"><label for="idTipo">Tipo:</label></td>
	        <td>
  			  <div id="tipoErr" class="error"></div>
			  <?php if($_GET['tipo']=='Proceso') { ?>							
			          <input name="rdTipo" id="idTipo" type="radio" tabindex="3" value="Proceso" checked/>
			  <?php } else { ?>
			          <input name="rdTipo" id="idTipo" type="radio" tabindex="3" value="Proceso" />			  
			  <?php } ?>
			  <label>Proceso</label>
			</td>
	      </tr>
	      <tr>
	        <td></td>
	        <td>
			  <?php if($_GET['tipo']=='Procedimiento') { ?>							
			          <input name="rdTipo" id="idTipo" type="radio" tabindex="4" value="Procedimiento" checked/>
			  <?php } else { ?>
			          <input name="rdTipo" id="idTipo" type="radio" tabindex="4" value="Procedimiento"/>			  
			  <?php } ?>
			  <label>Procedimiento</label></td>
	      </tr>
   	      <tr>
	        <td></td>
	        <td>
			  <?php if($_GET['tipo']=='Otro') { ?>							
			          <input name="rdTipo" id="idTipo" type="radio" tabindex="5" value="Otro" checked/>
			  <?php } else { ?>
			          <input name="rdTipo" id="idTipo" type="radio" tabindex="5" value="Otro"/>			  
			  <?php } ?>
			  <label>Otro</label></td>
	      </tr>
   	      <tr>
	        <td class="labels"><label for="idDescripcion">Descripción:</label></td>
	        <td><textarea rows="5" id="idDescripcion" cols="30" name="txaDescripcion" tabindex="6"><?php echo $_GET['descripcion']; ?></textarea>
			</td>
	      </tr>
	      <tr>
	        <td colspan="2" align="center">
	          <input type="submit" name="sbEnviar" value="Adicionar" tabindex="6" class="boton1" onmouseover="this.className='boton2'" onmouseout="this.className='boton1'" onclick="return adicionar_categoria(this.form)"/>
	          <input type="submit" name="sbEliminar" value="Eliminar" tabindex="7" class="boton1" onmouseover="this.className='boton2'" onmouseout="this.className='boton1'" />
	        </td>
	      </tr>
	      <tr>
		    <td colspan="2">
			 <div class="error"><?php echo $mensajeErr ?> </div>
 	  		 <div class="correcto"><?php echo $mensajeBien ?> </div>
			</td>
		  </tr>
	    </table>
       
	  </form>

y en javacript hago la validacion

Código:
function adicionar_categoria(form)
{
  var err = "true";
  var estado = "false";
  if (form.txtNombre.value == "")
  {
    imprimir_mensaje('nombreErr','Escriba el nombre de la categoria');
    err = "false";
  }
  for (var i=0;i<document.frmEstructura.rdTipo.length;i++)
  {
    if (document.frmEstructura.rdTipo[i].checked)
    {  
	  estado = "true";
	  break;
	}
  }
  if (estado == "false")
  {
    imprimir_mensaje('tipoErr','Esta información es necesaria');
    err = "false";
  }

  return err; 
}
mi problema es que cuando le doy enviar el formulario me lo valida en javascript y me muesra el error... pero de todas maneras me ejecuta el submit... que hago para qu solo me ejecute el submit si no hay ningun error...
__________________
La vida es el presente, pero para
trabajar en su futuro... :cool:

Suerte y Pulso.... :cool:
  #4 (permalink)  
Antiguo 27/09/2006, 15:03
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Quita las comillas del valor de err:

err=true;

en vez de

err="true";

y lo mismo con false.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 27/09/2006, 15:23
 
Fecha de Ingreso: mayo-2004
Ubicación: Manizales-Colombia
Mensajes: 97
Antigüedad: 20 años
Puntos: 0
ok gracias

ok gracias , ya me canciono
__________________
La vida es el presente, pero para
trabajar en su futuro... :cool:

Suerte y Pulso.... :cool:
  #6 (permalink)  
Antiguo 27/09/2006, 16:00
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Me alegro de que te cancionara!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 23:11.