下面是我的javascript代碼,我想要發生的是,當用戶單擊表單中的「上傳」按鈕時,它會在「imageValidation」以查看文件輸入是否正確,如果是,則進入「startImageUpload()」函數,如果文件輸入不正確,那麼它應該顯示警告「不是圖像」,並且它不應該進入「startImageUpload '功能。當我點擊「上傳」按鈕時沒有任何反應
問題是它根本沒有這樣做。當用戶點擊「上傳」按鈕時,不會出現任何提醒,不會發生上傳,也不會發生任何事情。我需要什麼才能實現上述段落?
下面是以下形式:
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='imageClickHandler(this); return false;' class='imageuploadform' >" +
"<label> Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label></form>");
下面是當用戶點擊「上傳」,其中的功能按鈕,它遵循以下這樣的功能:
function imageClickHandler(){
if(imageValidation()){
startImageUpload(imageuploadform);
}
}
下面是imageValidation( )函數驗證文件輸入,但我不知道這是否正常工作?
function imageValidation() {
$(".fileImage").change(function() {
var val = $(this).val();
switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){
case 'gif': case 'jpg': case 'png':
return true;
break;
default:
$(this).val('');
// error message here
alert("not an image");
return false;
break;
}
});
}
下面是'startImageUpload()'函數,我知道它在嘗試驗證輸入文件之前工作。
function startImageUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_cancel').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceImageForm = imageuploadform;
return true;
}
+1返回f()是我認爲作爲一個正確的解決方案,而不是返回false的第一件事; – 2012-04-14 00:33:13
不知道'f()'是什麼意思,但精神不錯:) – 2012-04-14 00:35:51
它幾乎解決了它,我唯一的問題是,當我點擊「瀏覽」瀏覽文件,然後選擇worng文件類型,然後顯示警報,我希望它可以讓用戶在瀏覽文件時選擇他們想要的任何文件,但是當用戶點擊「上傳」按鈕時,它會顯示一條警告,指出「不是圖像「。如何才能做到這一點? – user1324106 2012-04-14 00:36:08