2016-07-20 85 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"); 
      });  

}); 

請幫助我here.I使用Asp.net MVC作爲平臺。

+1

更換.val()添加一個id爲您輸入 –

回答

1

input你具有name,但#fileTextID選擇。請將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

嘗試本地JS:

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

OR

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

另外;看到

檢查你的原始代碼工作與.text

+0

*「嘗試原生js」*這不是「原生js」,它是DOM API。對OP的標記完全沒有幫助,上面只會引發一個錯誤(你也設置了錯誤的屬性;'value'是要設置的,'defaultValue'只是初始默認值)。 *「檢查你的原始代碼是否用'.text'替換'.val()'」* Nope。 'input'元素沒有文本。他們確實有價值。 –