2011-11-18 129 views
0

我有一個窗體,我在輸入元素(文件)的onChange事件上觸發ajax圖像上傳。 ajax圖片上傳工作正常,但我注意到圖片上傳時提交表單本身。我如何防止圖像再次上傳?Ajax圖像上傳

+0

使您的按鈕不上傳的文件? –

+0

請輸入密碼!這是你下載的東西還是你發明的東西? –

+0

我正在使用代碼張貼http://www.jquery4u.com/tutorials/thumbnail-image-upload-ajaxphp/ – arjunurs

回答

1

如果文件input與窗體(使用AJAX調用)分開處理,且不應該是窗體的一部分,請將其移動到form標記之外。這可能會影響您的頁面佈局,因此您可能需要進行一些樣式更改。但從僅查看HTML標記的角度來思考它。不屬於父元素的元素不應嵌套在這些父元素中。

0

我認爲你必須使用JavaScript來提交表單中onchange事件

1

您可以綁定到submit活動的形式和清除文件輸入的值,它是空白的形式提交:

$('#your-form-id').on('submit', function() { 
    $('#your-file-input').val(''); 
    return true; 
}); 

您還可以將文件輸入形式外其餘的,所以會有兩種形式的標籤,但你可以使用position : absolute;來定位文件輸入到看起來好像它是另一種形式的內部。

+0

如果我將文件輸入標記包裝在一個窗體中並將其嵌套在其他窗體中,它會工作嗎?我想我將不得不嘗試 – arjunurs

+0

由於我不知道你的HTML的結構,我做了一個簡單的例子,我的第二個建議:http://jsfiddle.net/c3M6W/ – Jasper

0

在HTML,表單動作應該是空的:

<form action=""> 

在JS代碼中使用:

$('#submut').click(function(){ 
    var //get var by jQuery 
}); 
//Your $ajax code here...