我正在寻找避免表格被打开两次的方法。有时,用户可能偶然点击两次按钮>> jQuery表单打开两次。 如何避免这种情况?
这是我的按钮:
<a class="dialogLink MaterialNew ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" role="button" aria-disabled="false" href="/PLATON/Material/_MaterialEditNew?requestID=10" data-update-url="/PLATON/Material/_MaterialList?requestID=10" data-update-target-id="MaterialList" data-dialog-title="Ajouter un matériel à transporter" data-dialog-id="MaterialNew">
单击此按钮,打开jQuery UI表单。
该按钮具有类.MaterialNew
表单(如果存在)的id为#MaterialNew
感谢您的帮助。
更新
这是我的解决方案,但我对此并不满意。
// Flag to avoid form to be loaded twice
var formLoaded;
// Wire up the click event of any current or future dialog links
$('.dialogLink').live('click', function () {
if (formLoaded)
return false;
else
formLoaded = true;
....
$(dialogDiv).load(this.href, function () {
$(this).dialog({
modal: true,
close: function () { $(this).dialog('destroy').remove(); formLoaded = false; },
...
正如您在上面所看到的,我使用了一个标志来检查表单是否已经加载。我不满足于这个解决方案,这是我的看法。也许更好的解决方案可能吗?
感谢。
答案 0 :(得分:2)
单击时,只需在其上设置disabled
即可。这样可以防止双击,因为第二次点击会触发一个禁用的控件。
答案 1 :(得分:1)
有同样的问题:单击按钮后,表单在IE中打开两次。 只需添加“返回false”;加载表单后的声明就行了。