簡體   English   中英

jQuery使用選定的提交按鈕繼續提交表單

[英]jQuery continue form submission with selected submit button

我正在用jQuery攔截表單的提交,並在繼續提交之前驗證了一些內容。 問題是頁面上有多個提交按鈕,它們具有不同的操作,並且當我在驗證后嘗試調用form.submit()時,提交按鈕的name標記丟失/未在請求參數中發送。

我的HTML看起來像這樣:

<input type="submit" name="publish" value="Publish">
<input type="submit" name="draft" value="Save as draft">

在coffeescript代碼中,我使用以下命令攔截表單提交:

$('#foo-form').submit (e) ->
  e.preventDefault()
  form = this

  # DO WORK...
  # A callback eventually calls form.submit()

我想以某種方式存儲單擊了哪個按鈕,並將其傳遞給form.submit()

向每個提交按鈕添加click事件處理程序,以添加(或更新)帶有值的隱藏輸入。

function store_submit_value (ev) {
    var $frm = jQuery(this.form);
    var $input = $frm.find("input.submit_value");
    if (!$input.length) {
        $input = jQuery("<input />")
            .attr("type", "hidden")
            .addClass("submit_value")
            .appendTo($frm);
    }
    $input.attr("name", this.name).val(this.value);
}

jQuery("#foo-form").on("click", 'input[type="submit"]', store_submit_value);

暫無
暫無

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

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