我有一個DIV
當我點擊它時,它會觸發一個JavaScript來點擊文件上傳按鈕,這是一個display:none
。它可以在我的電腦上使用Chrome,Firefox,Chromium。但我想知道爲什麼它不適用於我的朋友電腦。document.getElementById('button')。click()在我的電腦上工作,但不能在另一臺電腦上工作
是因爲瀏覽器問題還是什麼?我和我的朋友使用 不同版本的Ubuntu。當他們點擊DIV
這裏沒有發生是我的代碼
<div onclick='uploadphoto()' title='Click to edit Profile Picture'></div>
<form action="js/ajaxuploadprofile.php" method="post" name="sleeker" id="sleeker" enctype="multipart/form-data" style='display:none'>
<input type="hidden" name="maxSize" value="2000000" />
<input type="hidden" name="maxW" value="700" />
<input type="hidden" name="fullPath" value="images/profilepic/" />
<input type="hidden" name="relPath" value="../images/profilepic/" />
<input type="hidden" name="colorR" value="255" />
<input type="hidden" name="colorG" value="255" />
<input type="hidden" name="colorB" value="255" />
<input type="hidden" name="maxH" value="700" />
<input type="hidden" name="filename" value="filename" />
<input type="file" id='filename' name="filename" onchange="ajaxUpload(this.form,'js/ajaxuploadprofile.php?filename=name&maxSize=2000000&maxW=700&fullPath=images/profilepic/&relPath=../images/profilepic/&colorR=255&colorG=255&colorB=255&maxH=700','upload_area','File Uploading Please Wait...<br /><img src=\'images/loader_light_blue.gif\' width=\'128\' height=\'15\' border=\'0\' />','<img src=\'images/error.gif\' width=\'16\' height=\'16\' border=\'0\' /> Error in Upload, check settings and path info in source code.'); return false;" />
</form>
<script type='text/javascript'>
function uploadphoto()
{
el = document.getElementById('filename');
if (el.onclick)
{
el.onclick();
}
else if (el.click)
{
el.click();
}
//$('#filename').click(); // <-- this also works for me but not my friend
//document.getElementById('filename').click(); // <-- same
}
</script>
更新的解決方案
最近我發現style='display:none'
將有一些一些問題瀏覽器(或者由於瀏覽器的版本)。對我而言,Chrome的版本與我的朋友不同,因此它適用於我的電腦,但不是我朋友的電腦。但是,我可以通過將style='display:none'
替換爲style='visibility:hidden;height:0px'
來解決此問題。現在的代碼在任何PC上都可以正常工作。
visibility:hidden
只是隱藏了內容的視圖,它仍然會佔據一些空間。因此,我添加了height:0px
,以便它具有相同的效果,如display:none
。
你朋友的機器和瀏覽器是什麼?這是IE的古老版本嗎? –
由於我們對你的朋友的個人電腦一無所知,任何事情都只是猜測。你必須自己調試代碼。如果它「不起作用」,瀏覽器可能會拋出錯誤信息並告訴你爲什麼。 –
另外,這可能是由於用戶錯誤。誰操作你朋友的個人電腦? –