2014-09-05 73 views
0

所以我有這些形式:如何在使用Javascript提交後隱藏表單?

Django的模板:

{% for F in forms %} 
    <input type="text" name="name/> 
    <input type="number" name="number/> 
    <input type="submit" class="button" [onclick="this.disabled=true,this.form.submit(); ??]> #how can I make this work? 
{%endfor%} 

什麼模板代碼確實是呈現出基於表單的值多種形式>我希望用戶提交表單,然後有表單要麼消失(最好),要麼至少被禁用,以便他們可以重新提交。我怎樣才能做到這一點?

+0

你提交通過AJAX的形式?因爲如果沒有,隱藏它將是毫無意義的,因爲瀏覽器無論如何都會將用戶帶到表單提交腳本。 – 2014-09-05 15:11:44

+0

可能重複[如何禁用使用JavaScript的HTML按鈕?](http://stackoverflow.com/questions/3014649/how-to-disable-html-button-using-javascript) – ElGavilan 2014-09-05 15:12:39

+0

如果提交給自己呢? – user3806832 2014-09-05 15:16:20

回答

0

如果你在頁面上有多個表單並想用JavaScript處理它們,我建議你使用jQuery。你可以這樣做:

$('input[type="submit"]').click(function() { 
    // here comes your logic 
    // and the next line removes the corresponding form 
    $(this).parents('form').remove(); 
}); 

但正如Marc B指出的,你應該通過Ajax提交表單。我不知道你有什麼打算與用戶輸入的事,但如果你想使用Ajax,那麼你可以做這樣的:

$('form').submit(function() { 
    $.ajax({ 
     // your logic 
    }); 
}); 

檢查的jQuery的更多細節的官方文檔和適應的例子滿足您的需求。

編輯:

,如果你想防止提交和刷新頁面的形式,請稍作更改爲:

$('form').submit(function(event) { 
    $.ajax({ 
     // your logic 
    }); 
    event.preventDefault(); 
});