JavaScript函数需要提示用户输入一些数据,然后通过Ajax提交该数据。从一个WinForms/WPF背景的人,我首先想到的是做这样的事情:JavaScript和模式对话框
function promptForData() {
$('#my-form').dialog({
autoOpen: true,
modal: true,
buttons: {
"OK": function() {
alert("Added");
// Unlike WinForms I cannot
// set a dialog result here
$(this).dialog("close");
},
"Cancel": function() {
alert("Canceled");
$(this).dialog("close");
}
}
});
}
function update() {
var data = promptForData();
// Unlike WinForms execution continues immediately even
// for a "modal" dialog (jQuery UI Dialog, modal: true)
makeAjaxCall(data);
}
明显的解决方案似乎是重组的代码,以便makeAjaxCall(data)
发生在该对话框的“确定”处理程序。
由于涉及的实际代码明显更复杂,我希望能够区分使用数据的数据提示。有没有合适的模式来做到这一点?
注意:显示的实际实现使用jQuery UI,但我认为问题与此无关。
“厄运金字塔”正是我所担心的:-) – 2013-02-23 01:10:17