2012-06-15 164 views
0

這是我的第一個關於堆棧溢出的問題。我的javascript函數有問題。javascript瀏覽器兼容性問題

下面我我的js代碼:

function abc(formobject){ 
    var ext =".txt"; 
     var abc=".doc,docx"; 
    if(abc.search(ext) < 0){ 
     alert("hi"); 
     formobject.file.value=""; 
     return false; 
    } 
    return true; 
} 

<input type="submit" id="button" value="submit" onclick="return abc(this.form);"> 

在這裏提交按鈕我打電話ABC(在單擊)js函數並上傳file.It執行邏輯,如果該文件是無效擴展它應該拋出警報並清除瀏覽按鈕的值。它發生在Mozilla中,但IE8中的值沒有得到清除。任何人都可以幫助我解決這個問題?

文件是哪個我在這裏上傳 感謝

+0

您可以發佈代碼找你文件的標籤呢? –

+0

請參閱http://stackoverflow.com/questions/973661/ie8-causing-file-input-entry-to-be-blank-via-sendkeys 顯然這是不可能出於安全原因。 – Itison

+0

cxyz

回答

0

而不是

formobject.file.value=""; 

嘗試使用

formobject.reset(); 

希望這有助於。

0

我假設你在表單中只有「瀏覽」字段。

由於安全限制,無法訪問文件輸入標籤的值字段。更多在此http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx

如果您只想清除文件字段,那麼你必須在你的文件字段之前添加一個div標籤並清除它。

例子: -

<html> 
<head> 
<script type="text/javascript"> 
function abc(formobject){  
var ext =".txt";   
var abc=".doc,docx";  
if(abc.search(ext) < 0){   
alert("hi");   
document.getElementById('uploadFile_div').innerHTML = 
        document.getElementById('uploadFile_div').innerHTML; 

return false;  
}  
return true; 
} 


</script> 
</head> 
<body> 
<form name="theForm"> 
<div id="uploadFile_div"> 
<INPUT NAME="file" TYPE="file"> 
</div> 
<input type="submit" id="button" value="submit" onclick="return abc(this.form);"> 

</body> 
+0

做同樣的工作標籤 – cxyz