使用javascript处理文件打开

时间:2019-05-10 06:38:42

标签: javascript

我正在调用函数OpenFileHotlink(),它第一次正常工作,但是当我没有选择任何文件打开时,它正在打开先前的文件,如果没有选定的文件,我应该如何处理呢?没有打开。

我试图使用超时功能清除调用堆栈。

<fieldset>
 <legend>File Name</legend>
<!----Here i am getting all files as dropdown and it changing on the basis of objectId(This is another dropdown option) and file types----->
<select id="hotlinkfilenames_Id" class="form-control">
<!-- <option value="">------Select------</option> -->
</select>
</fieldset>
<div class="col-md-12 text-center pt-10">
                                        <a  class="btn btn-success btn-xs" id="geturlOpenFileHotlink"  onclick="OpenFileHotlink()">Open</a>
</div>

function OpenFileHotlink() {
  var fileName = $("#hotlinkfilenames_Id").val();
  var id=[];
  var uri='';
  alert(fileName);

  if(fileName==null||fileName=='' ){
    alert("Please select File Name");
    //debugger;
    return false;
  }else{
    alert("");
    fileName=fileName.toString();
    id =fileName.split("/");

    var ext1=id[1].toString();
    var ext=ext1.split(".");

    var htmlOpenHotlink="";
    $.ajax({
      url:'./openFile1/'+id[0],
      async: false, 
      cache: false,
      type:'POST',
      //dataType:'json',
      success:function(response){
        uri='data:image/'+ext[1]+';base64,'+response+'';
        document.getElementById("geturlOpenFileHotlink").href = uri;
        document.getElementById("geturlOpenFileHotlink").download = id[1];
      }	
    });
  }
}

2 个答案:

答案 0 :(得分:0)

如果您只想清除输入字段,则只需将value属性(或jQuery中的val())设置为空字符串即可。

在ajax请求的成功回调中,在末尾添加

$("#hotlinkfilenames_Id").val("");

根据相关更新进行编辑

为此,我将为您提供普通的(香草)js方法。 (与jQuery一起使用js绝对可以。jQuery只是扩展纯js的库)。

document.getElementById('hotlinkfilenames_Id').innerHTML = '';

将此添加到成功方法中,它将清除选择下拉列表。 希望对您有所帮助。

答案 1 :(得分:0)

我已经解决了我的问题: 我在if条件中添加了这一行,这意味着如果filename == null则 document.getElementById(“ geturlOpenFileHotlink”)。href ='#';