我有一些功能JavaScript來檢查加載文件,FileUpload控件JavaScript函數不跑一次
<script language="javascript" type="text/javascript">
function CheckFileBeforeUpdate()
{
var filePath = document.getElementById('<%= this.upFile.ClientID %>').value;
var validExtension = 'xml';
var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
if (ext == validExtension) return true;
alert('The file extension ' + ext.toUpperCase() + ' is not allowed!');
return false;
}
</script>
,這就是所謂巴頓:)的OnClientClick =「返回CheckFileBeforeUpdate(;
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In"
onclick="LoginButton_Click" OnClientClick="return CheckFileBeforeUpdate();" />
所以這是不尋常的情況: 我選擇appropiate文件,單擊登錄......儘管擴展不足它繼續下一個功能
否則我。 f I例如單擊FileUpload,但不選擇文件。 下一次我選擇一些文件(即使有不好的擴展名),然後功能運行(顯示警報)。
爲什麼有像封鎖一樣的東西?我能做些什麼來改變CheckFileBeforeUpdate()每次運行?
編輯 如果我選擇沒有文件有顯示警報(「選擇文件登錄」);當然。然後鎖釋放
<script language="javascript" type="text/javascript">
function CheckFileBeforeUpdate()
{
var filePath = document.getElementById('<%= this.upFile.ClientID %>').value;
var popupWindow = document.getElementById('<%= this.popupWin.ClientID %>').value;
if (filePath.length < 1) {
alert("Select file to log in");
return false;
}
var validExtension = 'xml';
var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
if (ext == validExtension) return true;
alert('The file extension ' + ext.toUpperCase() + ' is not allowed!');
return false;
}
</script>
請將它加載到Firefox中,在控制檯中查找。如果出現錯誤,IE將繼續下一個聲明。 Fx不會 – mplungjan 2011-02-13 15:11:34
您的代碼在Firefox中適用於我。您是否可以編輯問題幷包含您嘗試選擇具有無效擴展名的文件的完整路徑?你能確定沒有發生javascript錯誤(請參閱第一條評論)? – rsbarro 2011-02-13 16:21:42
沒有選擇文件時,代碼如何處理替換?它不會拋出異常嗎? – gor 2011-02-13 16:38:00