Foros del Web » Programando para Internet » Javascript »

Problemas con validar al enviar un formulario con una imagen

Estas en el tema de Problemas con validar al enviar un formulario con una imagen en el foro de Javascript en Foros del Web. Hola como estan??? tengo el siguiente problema tengo un formulario y con una funcion validar que es la siguiente Código: function valida(theForm) { if ( ...
  #1 (permalink)  
Antiguo 09/08/2005, 10:06
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 5 meses
Puntos: 0
Problemas con validar al enviar un formulario con una imagen

Hola como estan???

tengo el siguiente problema

tengo un formulario y con una funcion validar que es la siguiente
Código:
			function valida(theForm)
			{
				if ( theForm.codigo.value == "" )
				{
					alert("EL producto debe tener un código de producto.");
					focus(theForm.codigo.value);
					return (false);
				}
				if ( theForm.nombre.value == "" )
				{
					alert("El producto debe contener un nombre de producto.");
					focus(theForm.nombre.value);
					return (false);
				}
				if ( theForm.descripcion.value == "" )
				{
					alert("La descripción debe ser completada.");
					focus(theForm.descripcion.value);
					return (false);
				}
				if ( theForm.precio.value == "" )
				{
					alert("Debe poner algun precio al producto.");
					focus(theForm.precio.value);
					return (false);
				}
								if ( theForm.stock.value == "" )
				{
					alert("Por favor indiquenos el Stock Actual.");
					focus(theForm.stock.value);
					return (false);
				}
				return (true);

			}

el tipo funcion y tengo el siguiente formulario

Código HTML:
<form action="/store/administracion/p_modificar.php3" method="POST" enctype="multipart/form-data" name="form" target="principal" onSubmit="return valida(this)">
  <input type=hidden name=arrabal value=0>
  <table width="90%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolor="#CCCCCC">
    <tr> 
      <td width="50%">Codigo del Producto</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
              <input type=text name=codigo size=20 maxlength="12" value="1">
              </font></td>
            <td width="30%"><font color="#999999">[Ej. 001]</font></td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">Nombre del Producto</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
               <input type=text name=nombre size=20 maxlength="250" value="1">
              </font></td>
            <td width="30%"><font color="#999999">[Ej. Lapiz Bic]</font></td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">Familia (si corresponde)</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> <select NAME=id_familia>
<option VALUE=none selected>Seleccione familia...</option>
<option VALUE="11">Enterprice Licence</option>
<option VALUE="13">Pequeña y Mediana Empresa</option>
<option VALUE="10">Usuarios Caseros</option>
<option VALUE="12">Empresa</option>
</select>
 </font></td>
            <td width="30%">&nbsp;</td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">Descripci&oacute;n Corta</td>
      <td width="50%"><font size="2"> 
       <textarea name="descripcion" rows="3" cols="20">11</textarea>
        </font></td>
    </tr>
    <tr> 
      <td width="50%">Descripci&oacute;n Completa</td>
      <td width="50%">
       <textarea name="texto" rows="10" cols="45" ><P>1</P></textarea>
</td>
    </tr>
    <tr> 
      <td width="50%">Precio Normal</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> $ <font size="2"> 
                <input type=text name=precio size=18 maxlength="10" value="1" onChange="cambiatodo(document.form.rangos.value,this); imprimetabla()">
              </font></td>
            <td width="30%"><font color="#999999">[Ej. 1990]</font></td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">Stock Actual</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
               <input type=text name=stock size=6 maxlength="10" value="1">
              </font></td>
            <td width="30%"><font color="#999999">[Ej. 123]</font></td>
          </tr>
        </table></td>
    </tr>
    <tr>
      <td colspan="2">Cantidad de Rangos de Precio
	       <select name="rangos" id="rangos" onChange="envia();">
                    <OPTION>Seleccione</OPTION>
                    <option value="1" selected>1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
        </select></td>
    </tr>
    <tr> 
      <td width="50%">&nbsp;</td>
      <td width="50%"><font face="Arial, Helvetica, sans-serif" size="2">
		<a href="javascript:document.form.submit();window.close();"><img src="AccionImages/b_modificar.gif" width="100" height="24" border="0"></a>
		<input type="hidden" name="id_producto" value="60">
					<input name="elegir" type="hidden" id="elegir" value="Modificar Producto">
                    <input name="modificar" type="hidden" id="modificar" value="Modificar Producto">
                       
       </font></td>
    </tr>
  </table>
</form> 
Notece que el que envia el formulario es una imagen, y la funcion validar no me esta pescando

pero cuando le pongo un objeto submit que es el boton que envia el formulario este si funciona


NO se que esta pasando si alguien me podria ayudar

Saludos

Mauricio
  #2 (permalink)  
Antiguo 10/08/2005, 02:54
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 8 meses
Puntos: 61

Cambia esto:
<a href="javascript:document.form.submit();window.clo se();"><img src="AccionImages/b_modificar.gif" width="100" height="24" border="0"></a>

Por esto:
<input type="image" src="AccionImages/b_modificar.gif" width="100" height="24" border="0">

y en el onsubmit pon:
onSubmit="return valida(this);self close()"

A ver si te funciona!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 10/08/2005, 11:09
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 5 meses
Puntos: 0
no me resulto ahora los estoy probando en una pagina mas chica, pero no me esta resultando, el codigo quedo asi

Código:
<script language="javascript" type="text/javascript">
<!--
function valida(theForm)
{
if ( theForm.nombre.value == "" )
{
	alert("El perfil debe tener un nombre.");
	focus(theForm.nombre.value);
	return (false);
}
return (true);

}
-->
</script>
y el formulario


Código HTML:
<form action="<? echo $PHP_SELF; ?>" method="POST" enctype="multipart/form-data" name="form" target="principal" onSubmit="return valida(this); self close()">
  <input type=hidden name=arrabal value=0>
  <table width="90%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolor="#CCCCCC">
    <tr> 
      <td width="50%">Nombre del Perfil </td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
              <input type=text name=nombre size=20 value="<? echo $datos[1] ?>">
              </font></td>
            <td width="30%"><font color="#999999">[Ej. 001]</font></td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">Descripci&oacute;n del Perfil </td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
               <textarea name="descripcion" cols="20"><? echo $datos[2] ?></textarea>
              </font></td>
            <td width="30%">&nbsp;</td>
          </tr>
        </table></td>
    </tr>
     <tr> 
      <td width="50%">Initial</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
              <input name=initial type=text id="initial" size=20 value="<? echo $datos[3] ?>">
              </font></td>
            <td width="30%"><font color="#999999"></font></td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">Renewal</td>
      <td width="50%"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="70%"> <font size="2"> 
              <input name=renewal type=text id="renewal" size=20 value="<? echo $datos[4] ?>">
              </font></td>
            <td width="30%"><font color="#999999"></font></td>
          </tr>
        </table></td>
    </tr>
    <tr> 
      <td width="50%">&nbsp;</td>
      <td width="50%"><font face="Arial, Helvetica, sans-serif" size="2">
		
		
		<input name="modificar" type="image" id="modificar" src="AccionImages/b_modificar.gif" alt="Modificar Perfil" border="0">
		<input type="hidden" name="id_producto" value="<? echo $id_producto ?>">
					<input name="modificar" type="hidden" id="modificar" value="modificar">
      </font></td>
    </tr>
  </table>
</form> 

lo que pasa ahora es que ahora no me esta cerrando la ventana y no esta pasando por la funcion validar


miren si saco self close() que se supone que es para cerrar el popup , este me lo valida los campos pero no me cierra el popup, ahora si le meto el codigo de nuevo onSubmit="return valida(this); self close()" ese no me valida ni me lo cierra

por favor alguien que me ayude, a ver si se puede sacar




Saludos

Mauricio

Última edición por mauricio2004; 10/08/2005 a las 11:20
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 13:15.