2016-03-08 112 views
1

在下面的代碼中,我試圖檢查文件是否從超鏈接中選擇。當第一次選擇文件時var fileName = $('#' + field_id).val();null,但是當第二次選擇文件時,會顯示文件路徑。這裏有什麼問題?jquery文件選擇超鏈接

<input type="file" id="new_rule_upload" name="new_rule_upload" style="visibility: hidden; width: 1px; height: 1px" /> 
<a href="" onclick="document.getElementById('new_rule_upload').click(); upload_file('new_rule_upload'); return false">Upload</a> 
function upload_file(field_id) { 
    var fileName = $('#' + field_id).val(); 
    alert(fileName); 
    if (fileName != '') { 
     alert('selected') 
    } else { 
     alert('not selected'); 
    } 
} 
+1

別把本地JS和jQuery。此外,您可能需要使用'event.preventDefault()'來停止默認的''標記行爲 – Raptor

回答

0

我建議安裝自己輸入的變化事件就可以立即通知。

$(function() { 
    $("#new_rule_upload").change(function(){ 
    var fileName = $(this).val(); 

    // Do something 
    }); 
}); 
+0

'$(「new_rule_upload」)'我猜ID /類選擇器丟失了。 – Jai

+0

固定。謝謝.. –

0

使用jQuery

$(function() { 
    $("#a_id").click(function() { 
     var fileName = $("#new_rule_upload").val(); 
     alert(fileName); 
     if (fileName != '') { 
      alert('selected') 
     } else { 
      alert('not selected'); 
     } 
    }); 
});