簡體   English   中英

JS提交與HTML提交不同

[英]JS Submit not the same as HTML Submit

我有一個需要提交的表單,現在出於設計原因,我不得不重新定位這些表單的提交代碼並使用JS實際提交它們。

這已經很好了,沒問題,直到我找到了一個表格,它還可以進一步解決JS的問題......

我提交的JS如下:

function submitform()
{
    document.details.submit();
}   

這非常有效。 然而,這是使用HTML按鈕時工作的另一個JS:

$('form').submit(function(){
    $('#sortdata').val($( "#sortable" ).sortable("serialize"));
    return true;
}); 

任何幫助/建議都會很精彩,因為我只是改變了JS中元素的名稱。 這肯定不可能嗎?

使用jQuery submit方法觸發使用jQuery附加的事件處理程序:

$(document.details).submit(); //shorthand for .trigger('submit')

演示

這將以相同的方式提交表單,但在執行此操作之前還會觸發綁定到該元素的submit事件處理程序。


問題是本機HTMLFormElement.submit()方法不保證觸發與jQuery(或任何事件處理程序)綁定的事件處理程序:

從基於Gecko的應用程序調用此方法時,不會觸發表單的onsubmit事件處理程序(例如, onsubmit="return false;" )。 通常,不保證HTML用戶代理可以調用​​它。

另一方面,jQuery的.submit() / .trigger('submit')將始終執行通過jQuery附加到該元素的事件處理程序。


¹除非先前為給定事件調用了event.stopImmediatePropagation() ,否則這是一個完全不同的主題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM