有一自定義的控件﹐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')
------解决方案--------------------------------------------------------
是的,好的东西,贵在用啊!哈哈,不过我这里用的不对似的!呵呵,学习啊!