2016-12-12 60 views
0

在一個web2py應用程序中,我有一個作爲組件加載的表單,並且有一個textarea,Summernote編輯器應用到該表單。Summernote模式按鈕導致表單被提交

{{=LOAD('editor', 'load_summernote.load', vars = {...}, ajax = True)}} 

Summernote的「.note-insert」按鈕組(鏈接,圖片,視頻)打開了一個模式。點擊該模式的「插入*」按鈕時,會導致表單被提交。對我而言,這似乎是一種非常不受歡迎的行爲。我試圖建立在幾個hackish解決方案上以防止表單被提交:

$(document).on('submit', 'form', function(e){ 
    e.preventDefault(); 
    return false; 
}); 

上述代碼並不妨礙表單被提交。

第一個問題:Summernote的「插入」按鈕的表單提交行爲是否符合預期的行爲,或者是否有可能導致表單提交的網站特定於我的網站? (對於後面的問題,似乎沒有任何立即建議的肯定回答。)

第二個問題:是否有一種防止這些「插入」按鈕導致表單被提交的首選方法,而不會影響其功能?

回答

0

可能是因爲您用於按鈕的HTML不正確。我假設您正在使用「插入」按鈕的按鈕標記。需要注意的是,按鈕標籤的默認行爲是type = submit(隱含地)。您應該添加type =按鈕屬性到按鈕標記,以防止點擊時提交。例如:

<button>Insert</button> <!--WILL cause a submit (implicitly type=submit)--> 
<button type=button>Insert</button> <!--Will NOT cause a submit--> 

請參閱this answer瞭解更多詳情。