JavaScript:如果用户取消确认,文件输入onclick会阻止更改

Joh*_*ohn 5 javascript confirm dom-events

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

在示例中,我想通过询问用户是否希望确定|取消,如果用户单击“取消”,则不给用户损失文件输入元素的值的机会,则不应显示文件对话框窗口。

XHTML

<input name="post_file" onclick="images_change();" type="file" value="" />
Run Code Online (Sandbox Code Playgroud)

的JavaScript

function images_change()
{
 var answer = confirm('Okay or cancel, if you cancel no dialog window will be displayed.');

 if (answer)
 {
  answer = true;
  //previous item previews deleted here in a while loop.
 }
 else {answer = false;}

 return answer;
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ohn 2

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();}
 }
}
Run Code Online (Sandbox Code Playgroud)