2016-07-20 4 views
0

Я пытаюсь установить значение текстового поля при выборе загрузки файла, как бы то ни было, но я вижу правильное значение в поле предупреждения.JQuery не задает значение текстового поля

<div class="row"> 
     <div class="col-xs-2"> 
      <div class="file-label"><i></i>@Resources.FolderPath</div> 
     </div> 
     <div class="col-xs-4"> 
      <input class=".form-control" name="fileText" type="text" /> 
      <div class="fileUpload btn btn-primary"> 
       <span>Browse</span> 
       <input type="file" name="File" id="fileUpload" class="upload"/> 
      </div> 
     </div> 
     <div class="col-xs-4"> 
      <label id="fileSizeError" style="color: red"></label> 
     </div> 
    </div> 



$(document).ready(function() { 

    $(document) 
     .on("change","#fileUpload", 
      function (e) { 
       alert($("#fileUpload").val()); 
       $("#fileText").val($("#fileUpload").val()); 
       alert("hi"); 
      });  

}); 

Пожалуйста, помогите мне здесь. Я использую Asp.net MVC в качестве платформы.

+1

Добавить идентификатор для входа –

ответ

1

Ваш input имеет name, но #fileText является селектор ID. Либо добавьте к нему id, либо используйте селектор атрибутов, чтобы найти его.

Так как:

<input class=".form-control" id="fileText" name="fileText" type="text" /> 
<!-- add id------------------^^^^^^^^^^^^^  --> 

или

$("[name=fileText]").val($("#fileUpload").val()); 
// ^^^^^^^^^^^^^^^---- use attribute selector 
+0

Спасибо Это сработало! Не мог заметить это в течение часа! Примите ответ, как только Stackoverflow позволит мне. – Noob

+1

Вот демо: [** JSFiddle **] (https://jsfiddle.net/rickyruizm/e46d7xmg/) Вы должны удалить точку перед формальным управлением в своем классе ввода. – Ricky

-1

Попробуйте родные ЯШ:

document.getElementById("fileText").defaultValue = $("#fileUpload").val(); 

ИЛИ

$("#fileText").attr("value", "some value"); 

Также;

Проверьте, чтобы увидеть, если ваш исходный код работает с заменой .val() с .text

+0

* «Попробуйте встроенные js» * Это не «native js», это DOM API. И это вообще не помогло бы с разметкой OP, вышесказанное просто вывело бы ошибку (вы также устанавливаете неправильное свойство, 'значение' - это значение,' defaultValue' - это только начальное значение по умолчанию). * «Проверьте, работает ли ваш исходный код с заменой' .val() 'на' .text' "* Nope. Элементы 'input' не имеют текста. У них есть ценности. –

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