我有一个应用程序与谁有任务的客户。要为客户创建新任务,您可以单击一个添加图标,该图标将打开显示新任务窗体的fancybox。这有以下咖啡脚本:在fancybox之前显示确认框
jQuery ->
$("a.fancyForm").fancybox
scrolling: "no"
titleShow: false
但是,客户也必须有一个目标,否则任务是零。所以这种关系实际上是客户有许多目标,它有许多任务。如果客户已经有了一些目标,那么表格会简单地询问你的目标。如果客户没有目标,那么我想弹出一个确认框,询问用户是否想要现在制定目标。这是我目前使用的咖啡脚本:
$("a.noGoals").click (e) ->
e.preventDefault()
confirm_create_goal = confirm("There is currently no Goal for this customer. Would you like to create one?")
if confirm_create_goal
$("a.noGoals").fancybox()
else
alert "You won't be able to create tasks until a goal is created!"
这会弹出确认框,通过单击确定,看起来什么都不做。如果您再次尝试,则会显示确认框,如果您单击确定或取消,则会显示正确的fancybox和我的新目标表单。我如何让这个第一次工作?看起来第一次点击确定它只设置confirm_create_goal,然后在第二次尝试时才打开fancybox。
如果我在第一次尝试时单击“取消”,它会正确显示警报。第二次尝试我打“好”没有fancybox。第三次尝试点击“确定”得到fancybox,但如果我点击“取消”,我得到警报,然后fancybox o.O
嗯......很快只是试图摆脱这一呼吁的(变化确认为=>“目前还没有目标,你想创建一个?”),它并没有改变行为。如果您在第一次尝试时单击取消,则会触发警报。快速编辑这个问题来反映这一点。 – 2012-07-25 18:57:27
现在更新我的答案。你没有正确地使用fancybox()来做你想做的事情。 – chubbsondubs 2012-07-25 21:38:11
谢谢,我实际上正在撰写我的解决方案,因为你发布了这个。用一个奇怪的解决方法来得出同样的结论。让我知道你的想法。 – 2012-07-25 21:50:57