2

我有以下问题。

我有一个 aspx 文件上传输入,如果某些文本字段有值,则必须只显示文件对话框,否则我必须简单地显示一个更改语句来填充该字段。

我不能使用 jquery。

4

1 回答 1

2

事件对象有一个preventDefault函数,您可以使用它来阻止默认值继续。使用它,您可以将点击事件附加到文件上传,该事件将在尝试选择文件时触发。从那里您可以检查文本输入的值并返回/停止文件元素的默认值。

(function() {
  var __file = document.getElementById('file');
  var __text = document.getElementById('required');

  __file.addEventListener('click', function (e) {
    e = e || window.event;

    if ( __text.value.length === 0 )
    {
      e.preventDefault();
      return alert('Please fill out the textbox!');
    }


  })
})()

注意:仅在 Chrome 中进行了测试。

于 2012-08-10T16:59:36.483 回答