我正在我的网页中实现jQuery UI(版本1.10.4),我在这里有一个非常简单的代码。问题是,我不知道为什么只打开一次。有人可以点灯吗?
主要代码:
<button class="subscribe">Subscribe</button>
<div id="login-form" title="Sign In">
<p class="validateTips">All form fields are required.</p>
<form>
<fieldset>
<label for="username">Username</label>
<input type="text" name="username" id="username" class="text ui-widget-content ui-corner-all" />
<label for="password">Password</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
jQuery代码:
$(document).ready(function () {
$( "#login-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Login": function() {
//php code
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$(".subscribe").button().click(function() {
$("#login-form").dialog("open");
});
});
答案 0 :(得分:2)
这是因为allFields
未定义。它抛出一个错误。行:
allFields.val( "" ).removeClass( "ui-state-error" );
注释掉,它运作正常。
小提琴:http://jsfiddle.net/z4Kdw/1/
我向小提琴添加$('input').val("").removeClass("ui-state-error");
以清除字段而不会抛出错误。