如何确定用户是否实时选择了文件上传文件?

时间:2016-07-09 19:19:26

标签: javascript jquery html input upload

假设我有一个输入

class MyHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/shutdown':
            print 'Got shutdown request'
            self.server.running = False  
        self.send_response(200)

class Server():

  def __init__(self):
     self._http_server = HTTPServer(('0.0.0.0', 8123), MyHandler)
     self._http_server.running = True
     self._http_server_thread = threading.Thread(target = self._run_http_server, name = 'serverthread')
     self._http_server_thread.start()


  def _run_http_server(self):
      print 'Server started'
      while( self._http_server.running ):
          self._http_server.handle_request()

      print 'Server finished serving'
      self._http_server.shutdown()


  def check_status(self):
      l = threading.enumerate()
      for i in l:
          print i.name


serv = Server()
print 'Sleeping for 20 seconds'
time.sleep(20)
req = urllib2.urlopen('http://127.0.0.1:8123/shutdown')
print 'Finished sleeping'
serv.check()

实时,如果为此输入选择了文件,我需要输出警报。如果没有选择文件,用户只需关闭文件管理器窗口,我就不需要输出警报。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

您可以使用change事件执行此操作。在该事件下,您可以检查文件输入的value。如果它是空的,则没有选择文件。

$('#uploadFile').change(function() {
    if (this.value) {
        alert('you chose a file!');
    }
})

Working example

答案 1 :(得分:0)

var x = document.createElement("INPUT");
x.setAttribute("type", "file");
x.setAttribute("id", "uploadFile");
x.onchange = function() {
    alert("File Selected");
}
document.body.appendChild(x);
/*
if(x.value == "") {
    alert("File is not Selected");
}
*/

此示例可能对您有所帮助。 W3Schools最适合JS。 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_fileupload_files