2015-05-25 51 views
0

我有一個表格作爲低於該予驗證使用該validator插件:form.reset()

<div class="col-md-8 col-md-offset-2 form-contact"> 
    <form action="/Home/SendMessage" id="contact-form" method="post" autocomplete="off" class="wow bounceInUp has-validation-callback animated"> 
    //..All other form controls 

    </form> 
</div> 

但是當我試圖resetform如下

$('form#contact-form').reset(); 

OR

$('#contact-form').reset(); 

它給了我console.error Uncaught TypeError: $(...).reset is not a function

,但是當我嘗試reset形式如下它完全復位。

$('.form-contact form').get(0).reset(); 

任何人都可以告訴爲什麼發生這種情況或背後的原因是什麼?

+0

把你的代碼放在jsfiddle中 –

回答

1

這是因爲$('#contact-form')回調對象的數組中的表格。在這種情況下,表單對象的長度爲1的數組。 在瀏覽器控制檯中編寫並查看會發生什麼。

reset()的是天然javascript函數這需要特定form對象,其中選擇器不而不$('#contact-form')[0]

使用$('#contact-form')[0].reset();其從陣列得到first form提供。

enter image description here

嘗試的console.log($( 「#聯繫形式」));在控制檯中。那麼你可以通過展開對象來看到結果。

+0

你的解釋似乎是合理的,但在這裏還有一個疑問!當我們用'id'引用'form'時,它應該返回表單對象本身?任何想法爲什麼'數組的對象'返回? –

+0

jQuery選擇器總是返回一個數組,在文本框的情況下,數組中的第一個對象的值爲'$(..)。val()',但不能與'forms'一樣使用 – Ruchan

+0

有沒有任何具體的原因相同的不使用形式? –

相關問題