[英]Doesn't work focus on a textarea in javascript, ASP.net application
我有一個網格和一個textarea。當我單擊網格中的一行時,在textarea控件中,我放置了一些信息,並且希望此textarea位於頁面的前面,因為我的網格有多行,而我的textarea是在頁面上。 textarea的定義是這樣的:
<textarea id="BodyMessDetailed" cols="20" name="S1" rows="10" readonly="readonly" tabindex="1" >
<%=DefaultVal%>
</textarea>
在行定義中,我調用ShowBodyFunction:
<tr onclick ="javascript:ShowBody('B<% = Model.Id %>')"> ....
ShowBodyFunction是:
function ShowBody(stringId) {
var obj1
var obj2
obj1 = document.getElementById(stringId);
obj2 = document.getElementById("BodyMessDetailed");
obj2.innerText = obj1.innerText;
obj2.select();
obj2.focus();
}
我觀察到,如果單擊網格線,然后按Backspace鍵,應用程序將執行我想要的操作,但是我不知道如何從應用程序中進行操作。我嘗試了以下方法:onclick =“ javascript:ShowBody(' B <%= Model.Id%>');制表符;“ >
但不起作用。有人可以告訴我解決方案嗎?
在調用“ ShowBody”函數后,有人可以告訴我如何調用退格鍵或制表符嗎?
嘗試用innerHTML替換innerText方法,並注釋obj.select()方法。 如果那之后不起作用,請告訴我。
請再進行一次更改-用以下方式替換:')“>
<tr onclick="ShowBody(this.id)" id="" .....
'TR'元素中的'id'屬性是必需的。
希望這次能正常工作:)
在showBody函數中,注釋您先前編寫的所有內容,然后
只是放一個alert(StringID);
在其中查看是否正在調用該函數。
如果未調用該函數,則無需查看其中編寫的內容。
如果在運行時顯示警告對話框,那么我們將查看其中的實際代碼
ShowBody。 我在線 :) 。
只要利用value
就可以了。
function ShowBody(stringId) {
alert(stringId); // showing the output
var obj1 = document.getElementById(stringId);
var obj2 = document.getElementById("BodyMessDetailed");
obj2.value = obj1.value;
obj2.select();
obj2.focus();
obj2.scrollIntoView();
}
在tr
中的function call
中添加semicolon
。
<tr onclick ="ShowBody('B<% = Model.Id %>');">
附上屏幕截圖以供參考
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.