我認爲第一個問題可以通過在'#'之前的'a'之後引入空格來解決。我假設'picUpload'是錨元素的id。在這種情況下,你根本不必使用'a'。只需使用'#picUpload'將click事件綁定到元素即可。我更喜歡第二種方法,只使用#id來獲取該元素的jQuery對象。
$("#picUpload").bind('click', function() {
$(":input[type=file]").click();
});
我還建議你檢查你的窗體是否有與'picUpload'元素具有相同id的任何其他元素。在這種情況下事情可能會出錯。
要在選擇文件後自動開始上傳文件,請使用input:file元素的'change'事件。
$('#fileUpload').change(function() {
alert('changed');
//call your ajax function for uploading file
});
對於上面的腳本工作,應該按以下
<form>
<a id='picUpload' href='#'>Upload picture</a>
<input id='fileUpload' type="file"/>
</form>
小提琴這裏給出的形式:http://jsfiddle.net/deepumohanp/vvVWt/
感謝您的時間,第二部分工作得很好,但在公開對話部分不一致,有時它會在輸入[type = file]前用冒號在chrome中工作。 – Chibuzo
我已經在jsfiddle鏈接中使用chrome進行了檢查,兩者都沒有問題。你可以給你的表單元素嗎?我可以問你使用哪個版本的鉻?我會爲你檢查一次。 – WarFox