У меня есть элемент ввода файла
<input type="file" id="fileid">
Как вызвать функцию JavaScript после выбора файла из диалогового окна и его закрытия?
У меня есть элемент ввода файла
<input type="file" id="fileid">
Как вызвать функцию JavaScript после выбора файла из диалогового окна и его закрытия?
jQuery("input#fileid").change(function () {
alert(jQuery(this).val())
});
<input type="file" id="fileid" >
изменение будет действовать, если вы поместите script под вход
<script type="text/javascript">
$(document).ready(function(){
$("#fileid").on('change',function(){
//do whatever you want
});
});
</script>
<script>
function example(){
alert('success');
}
</script>
<input type="file" id="field" onchange="example()" >
Попробуйте объявить в верхней части файла:
<script type="text/javascript">
// this allows jquery to be called along with scriptaculous and YUI without any conflicts
// the only difference is all jquery functions should be called with $jQ instead of $
// e.g. $jQ('#div_id').stuff instead of $('#div_id').stuff
$jQ = jQuery.noConflict();
</script>
то
<script language="javascript">
$jQ(document).ready(function (){
jQuery("input#fileid").change(function () {
alert(jQuery(this).val());
});
});
(вы можете поместить оба в тег <script>
, но вы можете просто объявить первую часть в родительском макете, например, и использовать $jQ всякий раз, когда вы используете jQuery в своих дочерних макетах, очень полезно при работе с RoR например)
как указано в комментариях в другом ответе, это будет срабатывать только ПОСЛЕ того, как вы выберете файл и нажмите "Открыть". Если вы просто нажмете "Выбрать файл" и не выбираете ничего, он не будет работать.
Я думаю, что ваша цель достижима, но AFAIK нет такого события.
Но для достижения этого вам нужно сотрудничать с 3-мя событиями, Я предполагаю, что вам просто нужно знать о имени файла. Я создал прогулку здесь