簡體   English   中英

無法使用.submit()提交表單

[英]Cannot submit form with .submit()

當任何表單值更改並填寫表單中的所有字段時,我需要觸發表單提交事件。 除了$('#date_filter_form').submit();之外,其中的所有內容$('#date_filter_form').submit(); 線。 我可以.hide()表單,但由於某種原因不能提交()它。 文檔說submit()與trigger('submit')相同,所以我無法弄清楚它為什么不起作用。

$('#date_filter_form input[type="text"]').change(function() {
    var from_val = $('#date_filter_form #from_date').val();
    var to_val = $('#date_filter_form #to_date').val();
    if(from_val != '' &&  to_val != '') {
        $('#date_filter_form').submit();
    }
});

HTML:

<form method="post" id="date_filter_form" name="date_filter_form" action="">
   <label class="left required" for="from_date">From</label>
   <input type="text" id="from_date" class="datepicker hasDatepicker" value="" name="from_date">
   <label class="left required" for="to_date">to</label>
   <input type="text" id="to_date" class="datepicker hasDatepicker" value="" name="to_date">

    <input type="hidden" value="" name="from_date_db">
    <input type="hidden" value="" name="to_date_db">

    <input type="submit" id="submit" class="button" value="Show results" name="submit">
</form>

您的submit按鈕名為'submit' ,它與form.submit方法沖突。

發生這種情況是因為瀏覽器提供表單元素的快捷方式訪問器,引用元素的屬性,綁定到form元素,使用name屬性作為屬性名稱。

名為submit的元素將替換form.submit方法,您只需更改名稱即可。

另請注意,在IE中,您將遇到與id屬性相同的問題。

也可以看看:

定義腳本將與之交互的表單HTML時最常見的錯誤來自表單控件的快捷方式訪問器的存在。 它是為控件賦予與FORM元素的現有屬性相對應的NAME(或可能的ID)。 最常見的例子是類型=“提交”的INPUT元素,其中名稱為“提交”。 因為命名控件可用作FORM元素的命名屬性,所以此INPUT元素在屬性名稱“submit”下可用。 不幸的是,FORM元素已經有一個名為“submit”的屬性,它是可用於通過腳本提交表單的submit方法。

你的名字是你的名字

date_filter_form

但是你正在尋找一個名為的表格

date_filter 

所以你的驗證不會通過

暫無
暫無

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

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