我是一个jQuery新手,我试图打开一个弹出对话框给用户
error : function(data)
到目前为止,我在jQuery代码中的内容是:
<script type="text/javascript">
$(document).ready(function()
{
var $dialog = $('<div></div>')
.html('This dialog will show every time!')
.dialog({
autoOpen: false,
title: 'Basic Dialog'
});
$('.vote_up').click(function()
{
alert ( "test: " + $(this).attr("data-problem_id") );
problem_id = $(this).attr("data-problem_id");
var dataString = 'problem_id='+ problem_id + '&vote=+';
$.ajax({
type: "POST",
url: "/problems/vote.php",
dataType: "json",
data: dataString,
success: function(data)
{
// ? :)
alert (data);
},
error : function(data)
{
//alert("ajax error, json: " + data.responseText);
errorMessage = data.responseText;
if ( errorMessage == "not_logged_in" )
{
alert ("errr");
// Try to create the popup that asks user to log in.
//$(this).dialog();
$dialog.dialog('open');
// prevent the default action, e.g., following a link
return false;
}
else
{
alert ("not");
}
//alert(JSON.stringify(data));
//for (var i = 0, l = json.length; i < l; ++i)
//{
// alert (json[i]);
//}
}
});
//Return false to prevent page navigation
return false;
});
$('.vote_down').click(function()
{
alert("down");
problem_id = $(this).attr("data-problem_id");
var dataString = 'problem_id='+ problem_id + '&vote=-';
//Return false to prevent page navigation
return false;
});
});
</script>
我收到一个JavaScript错误,即Object没有方法对话框。这对我来说似乎是希腊语:)
如果您按“投票”链接:http://www.problemio.com
,则会出现此错误我该如何解决这个问题?我可以将对话框显示出来吗?它会要求人们登录网站或注册。
谢谢!
答案 0 :(得分:1)
您需要在网页上加入jQuery UI JavaScript and CSS files。您还需要将对话框元素附加到页面的DOM:
var $dialog = $('<div></div>')
.html('This dialog will show every time!')
.appendTo('body')
.dialog({
autoOpen: false,
title: 'Basic Dialog'
});
旁注:我强烈建议您更新到更新版本的jQuery。您的网站使用的是1.3(2009年1月发布); the latest version是1。6。4(2011年9月)。
答案 1 :(得分:1)
不确定var $dialog = $('<div></div>')
是否合法!
我认为你需要这样做;
var $dialog = $('.MyDiv')
然后
<div class="MyDiv"></div>