2012-03-25 77 views
0

我正在寻找避免表单打开两次的方法。有时可能用户偶然点击按钮两次>> 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

感谢您的帮助。


UPDATE

这里是我的解决办法,但我不太用它满足。

// 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; }, 
      ... 

所以你可以在上面看到,我使用了一个标志,用于检查表单是否已经被加载。我不满意这个解决方案,这是我的看法。也许更好的解决方案是可能的?

谢谢。

回答

1

有同样的问题:单击按钮后,窗体在IE中打开两次。 只需添加一个“返回false”;加载表单后的语句确实有效。

2

只需在点击时设置disabled就可以了。这将防止双击,因为第二次点击会击中禁用的控件。

+0

我已经试过,并且该按钮变得'显然'被禁用(我认为它好像是这样),但我仍然可以点击它并打开jQuery窗体。 – Bronzato 2012-03-25 16:23:06

+0

如果它是一个实际的'

+0

我更新了我的问题,以显示我目前不满意的解决方案。 – Bronzato 2012-03-25 18:07:49