Foros del Web » Programando para Internet » Javascript » Frameworks JS »

funcion .click()

Estas en el tema de funcion .click() en el foro de Frameworks JS en Foros del Web. hola, disculpen que este molestando por aqui tan pronto pero tengo este código en jquery: Código: <script src="../js/jquery-1.3.2.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $("#btnentrar").click(function() { ...
  #1 (permalink)  
Antiguo 10/02/2010, 10:10
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 11 meses
Puntos: 1
funcion .click()

hola, disculpen que este molestando por aqui tan pronto pero tengo este código en jquery:

Código:
<script src="../js/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function()
	
    {
        $("#btnentrar").click(function()
        {
            user = $("#txtusuario").val();
            pass = $("#txtpass").val();
           $("#mensaje").load("login_m.php",
           {
              user:user,
              pass:pass
           });
        });


       
    });
</script>
con el cual válido mi formulario, el problema es cuando lleno los datos y doy enter ocurre una de o me borra lo que ingrese o no entra simplemente a menos que le de click con el ratón, quería saber si esto se debe al .click() o es otra cosa en caso que fuese el .click() como puedo solucionar esto O.O??, gracias por su ayuda
  #2 (permalink)  
Antiguo 10/02/2010, 10:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

A mi no me cuadra esto:

Cita:
$("#mensaje").load("login_m.php",
{
user:user,
pass:pass
});
creo que necesitas comillas:

Cita:
'user':user,
'pass':pass
De otra manera, te estas refiriendo dos veces a lo mismo, en vez de declarar las variables nuevas.
  #3 (permalink)  
Antiguo 10/02/2010, 10:49
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: funcion .click()

hice ese cambio pero mi problema esta que al dar enter(después de colocar usuario y password), no realiza nada o borra los datos en las cajas de texto, en cambio si le doy click con el mouse si ingresa normal
  #4 (permalink)  
Antiguo 10/02/2010, 11:17
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

Entonces habría que cambiar la funcion. Usar .submit() en vez de .click().

Cuando ponemos el evento click estamos esperando un evento de mouse.
  #5 (permalink)  
Antiguo 10/02/2010, 11:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

Algo mas, que saco de este post.

Cita:
jQuery('#submit').focus()
.focus() tendría que dispararse al presionar enter. Podes usarlo.

Si no, sumar un evento para que al presionar enter, opere ajax. Lo que esta pasando ahora es que eal darle al enter no se dispara ajax porque no hay evento asignado.
Cita:
$('form input').keypress(function(e) {
if(e.which == 13) {

}
});
  #6 (permalink)  
Antiguo 10/02/2010, 11:43
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: funcion .click()

hice esto pero aun asi no me da:

Código:
 
<script src="../js/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){
	
        $("#btnentrar").keypress(function(event)
        {
            user = $("#txtusuario").val();
            pass = $("#txtpass").val();
           $("#mensaje").load("login_m.php",
           {
              'user':user,
              'pass':pass
           });
        });

	$('#btnentrar').click(function(){
		$('#btnentrar').keypress();
	
	});
       
    });
</script>
Agrego el formulario porsiak

Código:
<form id="form1" name="form1" method="post" action="#">
             <table width="223" border="0" cellspacing="0" cellpadding="0" align="center">
                <tr>
                  <td width="67" height="25" class="festilo2">Usuario:</td>
                  <td width="29" >&nbsp;</td>
                  <td width="144" >   <input type="text" name="txtusuario" id="txtusuario"  size="24" maxlength="12" tabindex="1"/></td>
                </tr>
                <tr>
                  <td class="festilo2">Pass:</td>
                  <td>&nbsp;</td>
                  <td><label>
                  <input type="password" name="txtpass" id="txtpass" size="24"  maxlength="12"  tabindex="2"/>
                  </label></td>
                </tr>
                <tr>
                  <td colspan="3"><div align="center">
                    <label>
                     <input type="button" name="btnentrar"  id="btnentrar" value="Entrar"  tabindex="3"/>
                    </label>
                    </div>
                 
                  </td>
                   
                </tr>
              </table>
              <div id="mensaje" align="center"></div>
            </form>
humm de esta forma si coloco enter o doy click debería funcionar pero no lo hace TT___TT

Última edición por kuroTenshi; 10/02/2010 a las 12:17
  #7 (permalink)  
Antiguo 10/02/2010, 12:52
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: funcion .click()

Cambie esta linea:
Código:
$("#btnentrar").keypress(function(event)
        {
por esta

Código:
 $("#form1").keypress(function(event)
        {
pero ahora sin necesidad de dar enter ingreso xD
  #8 (permalink)  
Antiguo 10/02/2010, 14:11
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

Si, lo corregi, fijate mas arriba. Igual lo repito:
Cita:
$('form input').keypress(function(e) {
if(e.which == 13) {

}
});
El keypress tiene que comprobar que la tecla sea el 13 (o sea, el enter). De otra manera, cualquier tecla dispara el evento. Comprendes?
  #9 (permalink)  
Antiguo 10/02/2010, 14:12
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

Cita:
$('#btnentrar').keypress();
Eso no iría. Keypress es una función nativa.
  #10 (permalink)  
Antiguo 10/02/2010, 14:15
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

Fijate en esta estructura:

Cita:
$(document).ready(function(){


function datos(){
user = $("#txtusuario").val();
pass = $("#txtpass").val();
$("#mensaje").load("login_m.php",
{
'user':user,
'pass':pass
});
};

$('form input').keypress(function(event) {
if(event.which == 13) {
datos(); // se dispara solo si la tecla es enter
} });

$('#btnentrar').click(function(){
datos(); // se dispara on click
});

});
  #11 (permalink)  
Antiguo 10/02/2010, 14:27
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: funcion .click()

ahh ya veo...waa gracias por tu ayuda *0* ahora si me funciona bien n.n mi único problema es el google chrome en los demas funciona bien pero eso es otro asunto :D.
  #12 (permalink)  
Antiguo 10/02/2010, 15:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: funcion .click()

entonces guarda lo que te funciona en otro archivo (como backup), y ponete a probar que pasa si reemplazas todo esto por el evento .submit() Puede que funcione en todos los navagadores ;)
  #13 (permalink)  
Antiguo 16/02/2010, 08:57
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: funcion .click()

Si hice eso mismo y ahora me funciona en todos :D gracias por tu ayuda

Etiquetas: funcion
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:38.