2017-01-20 15 views
0

В моем файле есть несколько полей <input type='file' />, и нет никаких html form s. Я хочу очистить прикрепленные файлы от определенного <input type='file' />. Не из всех полей. У меня есть $('input').val("");, но он очищает все поля <input type='file' />. Итак, как я очищаю прикрепленные файлы от определенного поля <input type='file' />?Как очистить файлы от <input type = 'file' /> с помощью jQuery или JavaScript

var control = $("#mcontrol"); 
 

 
$("#clear").on("click", function() { 
 
    $('input').val(""); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" id="mcontrol" /><br> 
 
<input type="file" id="mcontrol2" /> 
 
<button id="clear">Clear</button>

Вот fiddle

+1

Посмотрите здесь (с помощью JQuery): http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery – PaTT

+1

также ваша скрипка, отсутствует связь в jQuery, чтобы он не сработал при первом '$' –

+1

Возможный дубликат [Очистка с помощью jQuery] (http://stackoverflow.com/questions/1043957/clearing-input-type-file- using-jquery) – AymDev

ответ

2

Используя JavaScript, вы можете сделать это следующим образом.

document.getElementById("#mcontrol").value = "";

+0

Да, это решило мою проблему. – isuru

+0

@isuru, не могли бы вы объяснить, как это отличается от моего ответа, если вы говорите, что вы включили 'jQuery'? Я думаю, что вы либо неправильно включили jQuery, либо вообще не включаете его. Этот ответ такой же, как мой только чистый способ JavaScript. – Ionut

+0

@Ionut Как я думаю, это должна быть проблема с версией jQuery. Я попытался с вашим ответом, но он возвращает 'Uncaught TypeError: control.val не является функцией при ошибке HTMLImageElement.img.onload'. – isuru

2

Вы можете использовать id вы уже установили:

var control = $("#mcontrol"); 
 
$("#clear").on("click", function() { 
 
    control.val(""); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" id="mcontrol" /> 
 
<br> 
 
<input type="file" id="mcontrol2" /> 
 
<button id="clear">Clear</button>

+0

Это кажется правильным, но оно не работает в моем скрипте. – isuru

+0

@isuru, у вас есть библиотека 'jQuery'? – Ionut

+0

Да. Моя версия JQuery v1.11.3. Я думаю, что это проблема. – isuru

1
// For first file feild 
$("#clear").on("click", function() { 

    $('#mcontrol1').val(""); 
}); 

// For second file feild 
$("#clear").on("click", function() { 

    $('#mcontrol2').val(""); 
}); 
+1

Просьба предоставить контекст вашему ответу. Автономный ответ может решить проблему в этом конкретном сценарии, но объяснение может решить многие будущие проблемы. Попытайтесь включить то, что, по вашему мнению, вызывает проблему, и почему ваш ответ разрешит ее. – Newd

 Смежные вопросы

  • Нет связанных вопросов^_^