我正在调用函数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];
}
});
}
}
答案 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 ='#';