我有一个 ASP 经典页面,还有一个登录对话框(使用 jquery 制作)。用户点击登录,对话框弹出并要求输入密码(不需要用户名。小组)。如果他们输入密码并实际单击登录,则一切正常。
但是,如果他们按 Enter 键,则“表单”会以某种方式提交,即使没有表单,并且 url 会更新到http://xxx.xxxx.xxxx.asp?password=whatever
并且我的登录代码不会执行(因为未单击登录按钮)。奇怪的是,我只是发现如果用户去http://xxx.xxxx.xxxx.asp?
而不是http://xxx.xxxx.xxxx.asp
(注意最后的问号),在对话框中按回车键不会做任何事情。
知道为什么会发生这种情况以及如何阻止它吗?
编辑:这是对话框的 HTML:
<div id="login-form" title="Log in">
<p class="validateTips">Please enter your password.</p>
<label for="password">Password</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
</div>
这是它的jquery:
$( "#login-form" ).dialog({
autoOpen: false,
height: 350,
width: 350,
modal: true,
buttons: {
"Log In": function() {
var bValid = true;
allFields.removeClass( "ui-state-error" );
if ( password.val() == 'skeet' ) {
setCookie("loggedIn","true",1);
alert("Logged in");
$( this ).dialog( "close" );
location.reload();
}
else
{
alert("Invalid Password");
}
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});