Javascript 如何使用jquery.dirtyforms?

Javascript 如何使用jquery.dirtyforms?,javascript,jquery,jquery-dirtyforms,Javascript,Jquery,Jquery Dirtyforms,我对如何使用感到困惑 我正在尝试创建一个带有文本框和提交按钮的简单表单。如果用户在保存结果之前修改文本框并尝试刷新页面或单击页面内的链接,脏表单插件应提醒用户。但一切都不起作用 下面是我的代码: $(文档).ready(函数(){ $('form').dirtyForms({ 对话框:{title:'Wait!'}, 信息:“您忘记保存您的详细信息。如果您现在离开,它们将永远丢失。” }); }); 提交 如果从dirtyforms调用中删除标题和消息,代码将正常工作。根据文件: // Cu

我对如何使用感到困惑

我正在尝试创建一个带有文本框和提交按钮的简单表单。如果用户在保存结果之前修改文本框并尝试刷新页面或单击页面内的链接,脏表单插件应提醒用户。但一切都不起作用

下面是我的代码:


$(文档).ready(函数(){
$('form').dirtyForms({
对话框:{title:'Wait!'},
信息:“您忘记保存您的详细信息。如果您现在离开,它们将永远丢失。”
});
});
提交

如果从dirtyforms调用中删除标题和消息,代码将正常工作。根据文件:

// Customize the title and message.
// Note that title is not supported by browser dialogs, so you should 
// only set it if you are using a custom dialog or dialog module.
$('form').dirtyForms({ 
    dialog: { title: 'Wait!' }, 
    message: 'You forgot to save your details. If you leave now, they will be lost forever.' 
});
由于您试图使用默认浏览器对话框,这些额外属性会导致dirtyform代码中断。

$(文档).ready(函数(){
$('form').dirtyForms();
});
提交

虽然@Joffutt提出了一个可行的解决方案,但他忽略了对这种行为的解释。问题是您正在此处设置一个对话框模块:

dialog: { title: 'Wait!' },
这会告诉脏表单不要使用默认浏览器对话框,而是使用自定义对话框模块。但是,您没有完成自定义对话框模块注册的其余部分(即,没有定义open方法),因此配置无效


如果不需要自定义对话框模块,则不应在配置中定义
对话框:

它可以工作,但消息和标题属性不起作用。另外,如果在pc上以html文件运行,则链接
//cdn.jsdeliver.net/jquery.dirtyforms/2.0.0/jquery.dirtyforms.min.js
不起作用。它还将尝试从您的pc加载它,而不是http/httpstank您与我一起工作,但我使用我在cdn之前添加的dirtyform src链接进行简单修改