2017-03-01 65 views
0

我想用jquery清除我上传的文件。我试过但不工作。在jquery/javascript中清除我的输入

var $el = $('#specialImg1'); 
 
$el.wrap('<form>').closest('form').get(0).reset(); 
 
$el.unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input id="specialImg1" type="file" name="specialImg" onchange="previewSpecialImage(1);" width="3000" height="2500" required="" class="user-error" aria-invalid="true"> 
 
</form>

+0

清除它如何以及何时? – BenM

+0

当你已经有一个'form'元素时,为什么要添加一个'form'元素?也就是说,'$ el.closest('form')[0] .reset()'应该可以正常工作。你不能在HTML中嵌套表单,所以这可能是它不起作用的原因。 –

回答

1

它已经工作。尝试通过在控制台中登录。相反,你所写的方法,你可以简单地使用$('#specialImg1').val('');

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <script> 
 
     function clearit() { 
 
      var $el = $('#specialImg1'); 
 
      $el.wrap('<form>').closest('form').get(0).reset(); 
 
      $el.unwrap(); 
 
      console.log($("#specialImg1").val()); 
 
     } 
 
     function upload(){ 
 
      console.log($("#specialImg1").val()); 
 
     } 
 
    </script> 
 
</head> 
 

 
<body> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <form> 
 
     <input id="specialImg1" type="file" name="specialImg" width="3000" height="2500" required="" class="user-error" aria-invalid="true" onchange="upload()"> 
 
    </form> 
 
    <button onclick="clearit()">clearit</button> 
 
</body> 
 

 
</html>