2017-04-24 91 views
0

所以我有一個聯繫表單。當我點擊提交按鈕時,它會重置表單,如果我使用.click()。但是,當我使用.submit()時,由於某種原因它不起作用。點擊提交後重新設置表格

這裏是表單的代碼。

<form id="foo"> 
     <div class="form_sides"> 
      <div class="form-group"> 
      <label for="Your_Name">Name</label> 
      <input type="text" class="form-control" name="name" id="name" aria-describedby="nameHelp" placeholder="" required> 
      </div> 
      <div class="form-group"> 
      <label for="Your_Email">Email</label> 
      <input type="email" name="email" class="form-control" id="email" placeholder="" required> 
      </div> 
      <div class="form-group"> 
      <label for="Your_Subject">Subject</label> 
      <input type="text" name="subject" class="form-control" id="subject" placeholder="" required> 
      </div> 
     </div> 
     <div class="form_sides"> 
      <div class="form-group"> 
      <label for="Your_Phone">Message</label> 
      <textarea class="form-control" id="message" name="message" rows="3" required></textarea> 
      </div> 
      <div class="form-group"> 
      <div id='success'></div> 
      <button id="btn_submit" type="submit" class="btn_submit">Submit</button> 
      </div> 
     </div> 
     </form> 

這裏是我的JavaScript

var reset = function(){ 
    setTimeout(function(){ 
     $('form')[0].reset(); 
    },3000); 
} 
$('.btn_submit').on('submit', function(){ 
    reset(); 
    console.log("debug"); 
}); 

在這方面,我沒有得到的console.log,但是在。點擊()我得到的console.log。表單正在提交給Google Spread Sheet。另外,在看着它的時候,如果你們能告訴我如何使重置更順暢,那會很棒。我希望價值的淡出不是輸入框。

由於提前,

+1

的'submit'事件必須附加到表單,而不是按鈕。 '('#foo')。on('submit')' – Lixus

回答

2

如果您要附加到你必須把它安裝到實際的表單提交事件。如果你想點擊它,你可以附加到按鈕。但是,您無法執行按鈕提交事件。

變化:

$('.btn_submit').on('submit', function(){ 
    reset(); 
    console.log("debug"); 
}); 

是:

$('#foo').on('submit', function(){ 
    reset(); 
    console.log("debug"); 
}); 

另外,您可以附加到按鈕的單擊事件,並有這樣的代碼:

$('.btn_submit').on('click', function(){ 
    reset(); 
    console.log("debug"); 
}); 
+0

說明:單擊按鈕,表單被提交。 –

+1

增加了更多的探索 – Avitus

+0

謝謝,這工作。你能幫助我淡出嗎?我可以用jQuery來實現嗎? –