Tengo un formulario de inicio de sesión como el siguiente.Div (cuadro de mensaje) no se esconde en el tiempo de ejecución mediante jQuery
<li class="loginlink">
<a id="showlogin" href="#">
<span style="color: #666666">Login</span>
</a>
<div class="loginbox" style="display: block;">
<fieldset>
<label>User Name : </label>
<input id="input" type="text" value="" name="input">
</fieldset>
<label>
<span style="display: inline-block; ...;"> Password :</span>
</label>
<input id="password_txt" type="password" style="padding:5px;..;"
value="" name="password_txt">
<p>
<a class="loginlink" onclick="mojarra.jsfcljs(document.getElementById('headerForm'),
{'j_idt60':'j_idt60'},'');return false" style="color: #666666;.."
href="#">Forgot Password?
</a>
<a class="loginlink" onclick="mojarra.jsfcljs(document.getElementById('headerForm'),
{'j_idt63':'j_idt63'},'');return false" style="..."
href="#">Register
</a>
</p>
<div class="loginbuttons">
<input id="loginBtn" type="submit" value="Login" name="loginBtn">
<input id="cancellogin" type="button" value="Cancel">
</div>
</div>
</li>
Al hacer clic en showlogin. Yo uso jQuery para mostrarlo. Al igual que
$('#showlogin').click(function(){
var loginBox = $('.loginbox');
loginBox.show();
$('.loginbox fieldset input').focus();
if (!loginBox.is(':hidden')) {
validateUser();
}
});
$('#cancellogin').click(function(){
$('.loginbox').hide();
});
function validateUser() {
$("#loginBtn").click(function(event){
var userName = $("#input").val();
var password = $("#password_txt").val();
if (userName == "") {
$.dialog({
message: "UserName must be entered",
imageIcon: false,
type: "error",
okButtonID: "ok",
okButtonValue: "OK"
});
return false;
}
return true;
}); //end of click
} //end of validateUser()
Ahora lo que está sucediendo supongo que haga clic en el botón del cuadro se muestra como
Ahora bien, si hago clic en el botón de inicio de sesión, a continuación, aparece el mensaje
Ahora si hago clic en el botón Aceptar. Caja de desaparecer.
Hasta aquí las cosas están bien. Ahora supongamos que cierro el formulario de inicio de sesión haciendo clic en el botón cancelar. Y de nuevo, abra el formulario
Ahora, de nuevo clic en el botón de inicio de sesión. Aparecerá el mensaje
Pero ahora, si hago clic en el botón Aceptar, la superposición se ha ido pero el mensaje no aparece. ¿Por qué? Me sale algo como esto
Por qué esta vez no está desapareciendo? que estoy haciendo mal? ¿Por favor ayuda?
Gracias
+1 por el tiempo que debe haber tenido que poner esto juntos :) – karim79
Creo que el error está en algún lugar de la función '$ .dialog.createUI'. ¿Puedes mostrarnos el resto? – Alex
Sure :) Editado. Usted puede verificar el código. – Basit