在我的网页上,我有一个jQuery UI对话框。当我单击按钮(创建新用户)时,它会打开一个新窗口。我的问题是如何用AJAX请求打开该窗口?
从另一个页面打开对话框表单会很不错。例如:dialog.html
<div id="dialog-form" title="Create new user">
<p class="validateTips">All form fields are required.</p>
<form>
<fieldset>
<label for="name">Name</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" 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>
您可以在此fiddle中看到完整的代码:
答案 0 :(得分:10)
您可以像这样定义对话框:
function showUrlInDialog(url){
$.ajax({
url: 'dialog.html',
success: function(data) {
$("#dialog-form").load(data).dialog({modal:true}).dialog('open');
}
});
}
将对话框格式div中的当前标记定义到名为dialog.html的新页面中。在按钮单击事件上调用上述写入功能。我希望这就是你所需要的。
答案 1 :(得分:6)
我认为这是答案的简单版本:
$("#the-button").click(function(){
$("#dialog").dialog({modal: true}).dialog('open')).load("dialog.html")
})
答案 2 :(得分:0)
对我来说 .load 无效。所以我用了,
function showUrlInDialog(url){
$.ajax({
url: 'dialog.html',
success: function(data) {
$("#dialog-form").html(data).dialog({modal:true}).dialog('open');
}
});
}