簡體   English   中英

不適用於JavaScript,ASP.net應用程序中的文本區域

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM