当前位置: 代码迷 >> ASP.NET >> 通過js獲取file道徑
  详细解决方案

通過js獲取file道徑

热度:189   发布时间:2013-02-25 00:00:00.0
通過js獲取file路徑
有一自定義的控件﹐onclick的時候通過js觸發file,獲取file的路徑
思路如上﹐但是我取不到路徑..代碼如下
HTML code
<script type="text/javascript">  function   OpenFile()     {          document.getElementById('file').click();       var path = document.getElementById('file').value;       document.getElementById('TextBox1').value=path;        }</script> <input id="file" type="file" runat="server"  name="file" /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> <cc1:uimagebutton id="btn_cardinfoinsert" runat="server"  disableimgurl="~/image/cardinfo_insert_.gif" enableimgurl="../../image/cardinfo_insert.gif" imageurl="../../image/cardinfo_insert.gif" OnClick="btn_cardinfoinsert_click" > </cc1:uimagebutton>


C# code
 protected void Page_Load(object sender, EventArgs e)    {       btn_cardinfoinsert.Attributes.Add("onclick", "OpenFile()");       //btn_cardinfoinsert觸發file的控件    } protected void btn_cardinfoinsert_click(object sender, EventArgs e)    {              //string card_path = ? 這里應該取路徑了吧             string ss = this.TextBox1.Text.ToString();//沒東西....        //而且加了btn_cardinfoinsert.Attributes.Add()后﹐btn_cardinfoinsert_click這個事件就靜悄悄了﹐沒反應了.       }


麻煩各位看看我要怎么改﹖我是想在btn_cardinfoinsert_click()事件里面獲得路徑﹐再讀取文件內容的
加了btn_cardinfoinsert.Attributes.Add()后﹐讀不到路徑﹐事件也沒反映了.
只是實現了原file的打開文件對話框..完全就成了file按鈕了...

------解决方案--------------------------------------------------------
JScript code
//一样用的吧??var path='c:\\こんにちは\\結婚.txt';alert(path)alert(path.substring(path.lastIndexOf("\\")+1))
------解决方案--------------------------------------------------------
楼上js貌视我在js版的code -_-"

HTML code
<input type="file" id="file" onchange="document.getElementById('TextBox1').value=this.value"/><input type="button" onclick="OpenFile()" value="选择"/><br/><input type="text" id="TextBox1"/><script type="text/javascript">  function   OpenFile()     {          document.getElementById('file').click();//调用选择文件,但并没有阻塞js的执行,所以下面2句继续执行//但你未选择文件,所以TextBox1是空的       //var path = document.getElementById('file').value;       //document.getElementById('TextBox1').value=path;        }</script>
------解决方案--------------------------------------------------------
如果你是写在ascx用户控件中 
document.getElementById('file') 要写成
document.getElementById('<%=file.ClientID')

------解决方案--------------------------------------------------------
是的,好的东西,贵在用啊!哈哈,不过我这里用的不对似的!呵呵,学习啊!
  相关解决方案