Как клонировать файл типа ввода в другом тексте типа ввода [дубликат]

Я потратил пару часов на выполнение всех арифметических правил, не используя eval () , и, наконец, я опубликовал пакет на npm string-math . Все в описании. Наслаждайтесь

1
задан 12 March 2014 в 13:11
поделиться

6 ответов

  <input type="file" name="img1" id="img1" onchange="document.getElementById('file_name').value = this.value">
  <input type="text" name="file_name" id="file_name">

Вы можете добавить .split('\\').pop() в конец this.value, если хотите избавиться от c:\fakepath

Без c:\fakepath

  <input type="file" name="img1" id="img1" onchange="document.getElementById('file_name').value = this.value.split('\\').pop().split('/').pop()">
  <input type="text" name="file_name" id="file_name">

DEMO

9
ответ дан SajithNair 17 August 2018 в 09:33
поделиться
  • 1
    но его отображение c: fakepath / something.jpg. Я хочу только something.jpg как я могу это сделать – user 12 March 2014 в 13:31
  • 2
    Пожалуйста, воспользуйтесь второй частью моего ответа. onchange="document.getElementById('file_name').value = this.value.split('\\').pop().split('/').pop()" – SajithNair 12 March 2014 в 13:34
  • 3
    большое спасибо. это то, что нужно. Решение коротких строк .. Thumbs up .. – user 12 March 2014 в 13:35
yourFileInputNode.on('change', function(e){
    var file  = e.target.files[0];
    // you can get file name from file var and set it anewhere
})
0
ответ дан Blackrabbit99 17 August 2018 в 09:33
поделиться

Ниже показано только имя файла в текстовом поле file_name.

<input type="file" name="img1" id="img1" onchange="updateFileName()">
<input type="text" name="file_name" id="file_name">
<script>

    function updateFileName() {
        var img1 = document.getElementById('img1');
        var file_name = document.getElementById('file_name');
        var fileNameIndex = img1.value.lastIndexOf("\\");

        file_name.value = img1.value.substring(fileNameIndex + 1);
    }
</script>

JsFiddle

0
ответ дан Johan 17 August 2018 в 09:33
поделиться

вы можете использовать onchange в jquery, например

$("#img1").change(function(e){
    $("#file_name").val($("#img1").val().split('\\').pop().split('/').pop(););
});

, добавить эту строку в <head> html

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>

Демо

4
ответ дан krishna 17 August 2018 в 09:33
поделиться
  • 1
    thanx, но как получить только имя файла без пути к нему. – user 12 March 2014 в 13:21
  • 2
    он отображает только имя файла, а не путь – krishna 12 March 2014 в 13:23
  • 3
    Не вопрос jquery – user 12 March 2014 в 13:24
  • 4
    @ user3368817 он не уточняет, в чем он хочет решения. А также JQuery сам является javascript. Я думаю, вам лучше знать об этом до того, как вы начнете делать это. – krishna 12 March 2014 в 13:27
  • 5
    @ user3368817 Так что, если вопрос не помечен jquery? Что делать, если решение может быть предоставлено только с ним? Вы не отвечаете, потому что нет тега jQuery? Я человек, который плохо разбирается в javascript и должен использовать jQuery даже для мелочей. Этот ответ также является решением, и я не вижу причин для его сокращения. +1 – I Can Has Kittenz 12 March 2014 в 13:46

Это покажет имя файла, используя jQuery

  $("#img1").change(function(e){

     var fname=$("#img1").val().split('\\').pop().split('/').pop();
     $('#file_name').val(fname);
  });

DEMO

0
ответ дан Shijin 17 August 2018 в 09:33
поделиться
<input type="file" name="img1" id="img1" onchange="updateFileName()"><br><input type="hidden" name="file_name" id="file_name"><script>    
    function updateFileName() {
        var img1 = document.getElementById('img1');
        var file_name = document.getElementById('file_name');
        var fileNameIndex = img1.value.lastIndexOf("\\");
        file_name.value = img1.value.substring(fileNameIndex + 1);
    }
</script>
0
ответ дан Unheilig 17 August 2018 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: