防止html输入类型文件显示打开的对话框

时间:2012-09-23 18:33:33

标签: javascript html input-type-file

总而言之,我需要能够阻止input type="file"的默认操作。换句话说,当用户点击“浏览”或“选择文件”时,我不想显示系统的打开对话框。我已经有替换对话框,但系统的打开对话框仍然显示。

以下是我目前正在努力实现此目标的示例。 (PS:我正在使用Chrome 21)

<html>
<head>

<script type="text/javascript">
<!--

 file_onclick = function()
 {
  // Show custom dialog instead...
  event.stopPropagation(); // Doesn't work
  return false; // Neither does this
 };

//-->
</script>

</head>
<body>
  <input type="file" onclick="javascript: file_onclick();" />
</body>
</html>

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

怎么样

<input type="file" onclick="return false" />

或者如果您需要file_onclick功能

<html>
<head>

<script type="text/javascript">
<!--

 file_onclick = function()
 {
  // Show custom dialog instead...
  return false; 
 };

//-->
</script>

</head>
<body>
  <input type="file" onclick="return file_onclick();" />
</body>
</html>

答案 1 :(得分:0)

知道了。我需要禁用标记,然后使用setTimeout方法重新启用它。

<html>
<head>

<script type="text/javascript">
<!--

 file_onclick = function(o)
 {
  // Show custom dialog instead...

  o.disabled = true;
  setTimeout(function() { o.disabled = false; }, 1);
 };

//-->
</script>

</head>
<body>
  <input type="file" onclick="javascript: file_onclick(this);" />
</body>
</html>