2014-02-18 60 views
0

我有一個鏈接,打開一個新的頁面,我想知道是否有一種方法,使鏈接只能點擊一次,因此表單不能提交多次。只想要一個鏈接,可以點擊一次

<div id="addSection"><a class="addSection" 
    onclick="javascript:writeBookmark(this); var newwin = window.open('<c:url value="/URL_WINDOW"/>', 
    'additional', 'width=400,height=280,toolbar=no,,menubar=no,scrollbars=yes,resizeable=no'); newwin.focus(); return null;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    Add sub 

我有JavaScript來做這個按鈕,但不知道如何做到這一點,當我不處理按鈕。

回答

1

首先,我會移動您的點擊處理程序,以便它不是內聯應用的。然後,我會向處理程序添加一些代碼,以刪除鏈接本身,或者將點擊處理程序替換爲彈出鏈接只能使用一次的消息。

例(使用jQuery)

$('.addSection').on('click', function(e) { 
    e.preventDefault(); 
    writeBookmark(this); 
    var newwin = window.open('<c:url value="/URL_WINDOW"/>', 
          'additional', 
          'width=400,height=280,toolbar=no,,menubar=no,scrollbars=yes,resizeable=no'); 
    newwin.focus(); 
    $(this).off('click').on('click', function() { 
     alert('You've already performed this action'); 
    }); 
}); 
+0

輝煌的感謝,哪來的鏈接的名稱去?我有的鏈接叫做add sub,那麼代碼中會出現哪些內容?再次感謝 – user3323143

+0

@ user3323143您的HTML不會更改,除非您的「onclick」處理程序已從鏈接中刪除,並且需要添加所包含的JavaScript。我建議將它重構爲一個模塊,參見http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript,它通過requirejs加載。 – tvanfosson