JavaScript:file input onclick在用户取消确认时防止更改()

JavaScript:file input onclick在用户取消确认时防止更改(),javascript,confirm,dom-events,Javascript,Confirm,Dom Events,在使用confirm()方法时,如何防止表单文件输入元素通过onclick DOM事件发生更改 在示例中,我希望通过询问用户是否希望确定|取消,如果他们单击取消,则不应显示文件对话框窗口,从而为用户提供不丢失文件输入元素值的机会 XHTML <input name="post_file" onclick="images_change();" type="file" value="" /> 如果只有一个文件输入,为什么不直接内联呢 HTML: 您需要返回确认结果,然后返回函数结果:

在使用confirm()方法时,如何防止表单文件输入元素通过onclick DOM事件发生更改

在示例中,我希望通过询问用户是否希望确定|取消,如果他们单击取消,则不应显示文件对话框窗口,从而为用户提供不丢失文件输入元素值的机会

XHTML

<input name="post_file" onclick="images_change();" type="file" value="" />

如果只有一个文件输入,为什么不直接内联呢

HTML:


您需要返回
确认
结果,然后返回函数结果:

<input name="post_file" onclick=" return images_change();" type="file" value="" />​

function images_change() {
    return confirm('Okay or cancel, if you cancel no dialog window will be displayed.');
}
​
函数图像_change(){
返回确认('确定或取消,如果取消,将不显示对话框窗口');
}

好的。您就快到了,只需返回
确认值,请参见下面的我的答案。@John如果您需要更多的答案,而不是您当前所问的内容--“[…]我需要在上面执行一些其他脚本。”--您应该编辑您的问题以包含此内容。科林,不要添加不必要的空白。基本上与j08691相同。这看起来不错,但问题是如果脚本返回true,我需要在此基础上执行其他脚本。为什么建议他使用内联脚本?只能调用函数,内联脚本不是我能做的,不过谢谢你的回答。如果它只是一个一次性的文件输入,那么它没有什么问题。如果他需要重新使用它,那么我可以看出将它分开的意义;是如此的有用和酷。谢谢我以前想要这个,但在类似的SO问题中找不到。
<input name="post_file" onclick="return check()" type="file" value="" />​
function check() {
    return confirm('Okay or cancel, if you cancel no dialog window will be displayed.');
}​
<input name="post_file" onclick=" return images_change();" type="file" value="" />​

function images_change() {
    return confirm('Okay or cancel, if you cancel no dialog window will be displayed.');
}
document.getElementById('post_file').addEventListener('click',function(e) {images_click(e);},false);

function images_click(e)
{
  var answer = confirm('Ok or cancel?');

  if (answer)
  {
   //shows file selection dialog window.
  }
  else {e.preventDefault();}
 }
}