Foros del Web » Programando para Internet » Javascript »

problema con formulario

Estas en el tema de problema con formulario en el foro de Javascript en Foros del Web. Hola, tengo un problemilla con un formulario, que se donde está, pero no se resolverlo. Miren, mi codigo es el siguiente: Código PHP:          < ...
  #1 (permalink)  
Antiguo 02/08/2006, 11:18
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
Mensaje problema con formulario

Hola, tengo un problemilla con un formulario, que se donde está, pero no se resolverlo.
Miren, mi codigo es el siguiente:
Código PHP:
        <FORM ACTION="busca_os2.php" METHOD="GET" name="busca_os">
        <
TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="100%" HEIGHT="400"><TD ALIGN="CENTER" VALIGN="TOP">
            <
TABLE BORDER="0" BORDERCOLOR="#000000" CELLPADDING="3" CELLSPACING="3" WIDTH="700">
                <
TR><TD><CENTER>
                    <
FONT SIZE=2 FACE="Trebuchet MS" color="#0066CC"><B>BUSCADOR DE ORDEN DE SERVICIO</B></FONT></CENTER></TD></TR>
            </
TABLE>
            <
BR>
            <
TABLE BORDER="0" BORDERCOLOR="#0066CC" CELLPADDING="0" CELLSPACING="0" WIDTH="200" bgcolor="#FF9933">    
                <
TR>
                    <
TD>
                    <
CENTER><B>
                    <
font color="#FFFFFF" size="2" face="Trebuchet MS">OS:</font><FONT SIZE=1 FACE="Trebuchet MS" color="#FFFFFF"> </FONT> </B>
                    <
font color="#FFFFFF" SIZE="1" FACE="Trebuchet MS"><INPUT NAME="buscaos" VALUE="OS_" size="20" MAXLENGTH="10"></font></CENTER>
                    </
TD>
                </
TR>
            </
TABLE>
            <
BR>
            <
TABLE BORDER="0" BORDERCOLOR="#000000" CELLPADDING="3" CELLSPACING="3" WIDTH="700">
                <
TR>
                    <
TD WIDTH="700" ALIGN="CENTER">
                        <
input type="button" value="Buscar!" onclick="valida_envia()">
                    </
TD>
                </
TR>
            </
TABLE>
        </
TABLE>
        </
FORM
Mi duda es, si con el onClicl llamo a la funcion "valida_envia()" correctamente cuando pulso el botón, ¿qué he de hacer para que tambien pase por la misma funcion al pulsar intro no ejecute el form?

He probado con onSubmit() pero no me funciona, ¿hay alguna forma de deshabilitar el boton intro en un formulario?
Gracias de antemano.
  #2 (permalink)  
Antiguo 02/08/2006, 11:20
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Debes convertir el boton en type submit y en el <form es donde pones onsubmit="valida_envia()"

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 02/08/2006, 11:21
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
Aqui esta la funcion valida_envia() que se me olvido colocarla antes

Cita:
function valida_envia(){
//valido el nombre
if (document.busca_os.buscaos.value.length<10){
alert("Tienes que escribir todos los digitos de la orden de servicio")
document.busca_os.buscaos.focus()
return 0;
}
//el formulario se envia
document.busca_os.submit();
}
  #4 (permalink)  
Antiguo 02/08/2006, 11:23
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
En dicho caso, si pones el onsubmit debes devolver return false; para q no se envie o return true; [en lugar del document.busca_os.submit()] para q sí lo haga.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 02/08/2006, 11:33
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
Mensaje

sigo teniendo el problema de antes. Aunque me salta la alerta, entra en el formulario :/

pego el codigo completo como lo deje ahora
Código PHP:
function valida_envia(){
        
//valido el nombre
    
if (document.busca_os.buscaos.value.length<10){
        
alert("Tienes que escribir todos los digitos de la orden de servicio")
        
document.busca_os.buscaos.focus()
        return 
false;
    }
        
//el formulario se envia
    
return true;
    }
        

    
</SCRIPT>
    </HEAD>
    <BODY>
    
        <FORM ACTION="busca_os2.php" METHOD="GET" name="busca_os" onsubmit="valida_envia()">
        <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="100%" HEIGHT="400"><TD ALIGN="CENTER" VALIGN="TOP">
            <TABLE BORDER="0" BORDERCOLOR="#000000" CELLPADDING="3" CELLSPACING="3" WIDTH="700">
                <TR><TD><CENTER>
                    <FONT SIZE=2 FACE="Trebuchet MS" color="#0066CC"><B>BUSCADOR DE ORDEN DE SERVICIO</B></FONT></CENTER></TD></TR>
            </TABLE>
            <BR>
            <TABLE BORDER="0" BORDERCOLOR="#0066CC" CELLPADDING="0" CELLSPACING="0" WIDTH="200" bgcolor="#FF9933">    
                <TR>
                    <TD>
                    <CENTER><B>
                    <font color="#FFFFFF" size="2" face="Trebuchet MS">OS:</font><FONT SIZE=1 FACE="Trebuchet MS" color="#FFFFFF"> </FONT> </B>
                    <font color="#FFFFFF" SIZE="1" FACE="Trebuchet MS"><INPUT NAME="buscaos" VALUE="OS_" size="20" MAXLENGTH="10"></font></CENTER>
                    </TD>
                </TR>
            </TABLE>
            <BR>
            <TABLE BORDER="0" BORDERCOLOR="#000000" CELLPADDING="3" CELLSPACING="3" WIDTH="700">
                <TR>
                    <TD WIDTH="700" ALIGN="CENTER">
                        <input type="submit" value="Buscar!">
                    </TD>
                </TR>
            </TABLE>
        </TABLE>
        </FORM> 
  #6 (permalink)  
Antiguo 02/08/2006, 11:34
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
vale, fallo mio. estaba fuera del condicional.
Muchas gracias por la ayuda!
  #7 (permalink)  
Antiguo 02/08/2006, 11:37
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
pues... sigo con el fallo :/
  #8 (permalink)  
Antiguo 02/08/2006, 11:41
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
Ahora lo tengo asi, y lo que hace es saltar el alert y despues el submit :/

Cita:
function valida_envia(){
//valido el nombre
if (document.busca_os.buscaos.value.length<10){
alert("Tienes que escribir todos los digitos de la orden de servicio")
document.busca_os.buscaos.focus()
return false;
}
else
{
//el formulario se envia
return true;
}
}
  #9 (permalink)  
Antiguo 02/08/2006, 11:47
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
A lo mejor me he equivocado yo y tenias que poner onsubmit="return valida_envia();"

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #10 (permalink)  
Antiguo 02/08/2006, 12:06
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
Mensaje

Muchisimas gracias tio, ya funciona.
Saludos!
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 17:42.