答案 0 :(得分:5)
我稍稍调整了你的代码,所以它现在有效:
<强> JavaScript的:强>
$('#forgot').click(function() {
$( "#forgot-dialog" ).dialog( "open" );
});
$(document).ready(function() {
$( "#forgot-dialog" ).dialog({
modal: true,
autoOpen: false,
height: 255,
width: 300,
buttons: {
"Retrieve": function() {
document.forms["forgotform"].submit();
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
});
});
<强> HTML:强>
<a href="#" id="forgot">Forgot?</a>
<div id="forgot-dialog" style="display:none;" title="Reset your password">
<form id="forgotform" action="/forgotPassword.php" method="post">
<label for="forgot_email">Email</label>
<input type="text" name="forgot_email" id="forgot_email" class="text ui-widget-content ui-corner-all" value="<?= $fb_email ?>" />
</form>
</div>
这是一个有效的演示:http://jsfiddle.net/HxbTY/。
你没有包含jQuery UI,因为dialog()
是jQuery UI的一部分,而不是jQuery。
我不确定为什么该函数没有触发(可能是jsFiddle.net错误),但我在链接中添加了click()
处理程序以使其正常工作。
答案 1 :(得分:1)
您在<a href="javascript:forgotPassword();">
内定义了forgotPassword
和$(document).ready
功能。要使其有效,您需要将forgotPassword
的定义移到ready
之外或执行类似
<a id='my_link' href='javascript:void(0)'>Forgot</a>
$(document).ready(function() {
....
$("#my_link").click(function(e){
$("#forgot-dialog").dialog("open");
});
答案 2 :(得分:1)
你的小提琴有一些问题。
首先,您没有将jquery UI包含为库,因此显然您的代码将失败。您还需要包含CSS。还有一些范围问题,我已经修复了这些并发布了解决方案
http://jsfiddle.net/jomanlk/LtQnT/11/
$(document).ready(function() {
$('#theLink').click(function(){
$( "#forgot-dialog" ).dialog( "open" );
});
$( "#forgot-dialog" ).dialog({
modal: true,
autoOpen: false,
height: 255,
width: 300,
buttons: {
"Retrieve": function() {
document.forms["forgotform"].submit();
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
});
});
答案 3 :(得分:0)
答案 4 :(得分:0)
您正在匿名范围中定义forgotPassword()
函数,这是一件好事。但是,内联Javascript - 无论如何都是一件坏事 - 无法再访问它了。
请改用此代码:<a href="#" id="forgotPasswordLink">Forgot?</a>
在您准备好的代码中:$('#forgotPasswordLink').click(forgotPassword);
- 将这两个单独的$(document).ready()
函数合并为一个:http://jsfiddle.net/ThiefMaster/LtQnT/13/
答案 5 :(得分:0)
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$('#theLink').click(function(){
$( "#dialog" ).dialog();
});
} );
</script>
<a id='theLink' href="#">Forgot?</a>
<div id="dialog" title="Forgot Password" style="display:none;">
<div id="forgot-dialog" title="Reset your password">
<form id="forgotform" action="/forgotPassword.php" method="post">
<label for="forgot_email">Email</label>
<input type="text" name="forgot_email" id="forgot_email" class="text ui-widget-content ui-corner-all" value="<?= $fb_email ?>" />
</form>
</div>
</div>