我有一個表單上傳文件並在頁面上定位一個iframe。當用戶點擊提交時,我想讓文件內容「清除」出來。有沒有「提交後」jquery選項?
我想這
$('#imageaddform').submit(function(){
$('#imagefile').val('');
});
但它清除表單之前提交,所以沒有什麼是永遠上傳。
提交後如何清除?
我有一個表單上傳文件並在頁面上定位一個iframe。當用戶點擊提交時,我想讓文件內容「清除」出來。有沒有「提交後」jquery選項?
我想這
$('#imageaddform').submit(function(){
$('#imagefile').val('');
});
但它清除表單之前提交,所以沒有什麼是永遠上傳。
提交後如何清除?
如果你沒有其他的處理程序的約束,你可以做這樣的事情:
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
$('#imagefile').val(''); // blank the input
});
+1,這是一個好主意。 – 2011-03-02 15:25:23
不提交表單替換頁面? – 2011-03-02 15:34:29
@Sime如果它有一個指向iframe的「target」屬性... – lonesomeday 2011-03-02 15:41:04
你可以做這樣的事情:
$('#imageaddform').submit(function(){
setTimeout(function() {
$('#imagefile').val('');
},100);
});
你測試過了嗎? – amosrivera 2011-03-02 15:18:40
這是工作 – 2012-08-24 07:41:47
慢速計算機需要更多的發送請求與您的代碼取決於現代PC的使用,這是不標準或不實用。有時它起作用,有時不起作用。 – 2015-12-20 20:01:58
如何ü提交表單?如果這是正常的形式後,然後頁不會存在,在那種情況下,我想知道如果你正在尋找在頁面刷新之前清除表單,以便當用戶回來時,他沒有看到填充的值。
如果表格由AJAX提交,那麼你可以
function(){
$('form1')[0].submit();
clearForm();
}
我錯過了這個問題嗎?
頁面不刷新。它的目標是一個iframe – polyhedron 2011-03-02 15:24:41
從來沒有想過會出現這種情況。你可以使用上面發佈的定時器方法。或者我可以告訴一個解決方法。使用一個隱藏的變量,並在那裏放置你的細節並提交該字段。同時清除主要表格。所以這會使表格清除。只是一個解決方法,但骯髒的解決方案 – 2011-03-02 15:28:01
David在問題的評論中發佈了一個解決方案。到目前爲止,這是最適合我的解決方案。 – polyhedron 2011-03-02 15:31:01
Lonesomeday的解決方案爲我工作,但谷歌瀏覽器,我發現它仍然會提交空表單數據,除非我加了這樣的超時:
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
setTimeout(function(){ // Delay for Chrome
$('#imagefile').val(''); // blank the input
}, 100);
});
不使這一答案,因爲它是一個猜測:'$( 'iframe')。load(function(){$('#imagefile')。val('');});' – Quentin 2011-03-02 15:14:26
我沒有使用jQuery表單回傳。但是,在點擊按鈕之後,在讀取它之後,但在下一頁加載之前,您是正確的。它的目標是一個iframe,不會重新加載瀏覽器窗口。 – polyhedron 2011-03-02 15:17:11
+1 @大衛,因爲它的工作 – polyhedron 2011-03-02 15:19:12