【发布时间】:2011-01-03 08:02:11
【问题描述】:
我有一个处于编辑模式的 GirdView,里面有一个 TextBox。
我需要在 JavaScript 中检索这个带有 ID(来自浏览器中的源代码)的 TextBox。
ctl00$MainContent$uxListOptions$ctl02$uxValueInput
但我收到一个错误,因为我的 JavaScript 无法找到 TextBox。
代码如下:
<span onclick="encodeMyHtml('<%# UniqueID.Replace("$", "_") %>_FormViewContentManager_ContentTextBox')">
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="[Publish]" />
</span>
在我的控件的 OnPageLoad 中,我称之为:
private void addEditorJavaScript()
{
// create our HTML encoder javascript function
// this way it shows up once per page that the control is on
string scr = @"<script type='text/javascript'>function encodeMyHtml(name){
var content = document.getElementById(name).value
content = content.replace(/</g,'<');
content = content.replace(/>/g,'>');
document.getElementById(name).value = content;
}</script>";
// add the javascript into the Page
ClientScriptManager cm = Page.ClientScript;
cm.RegisterClientScriptBlock(this.GetType(), "GlobalJavascript", scr);
}
我正在尝试使用此代码http://dustyreagan.com/how-to-submit-html-without-disabling/
任何想法我做错了什么?谢谢大家!
【问题讨论】:
-
首先,将
UniqueID.Replace("$", "_")替换为ClientID。不会解决您的问题,但它看起来更好,并且在约定发生变化时不太容易失败。 -
你好,从浏览器源我可以看到我感兴趣的文本框 textarea name="ctl00$MainContent$uxListOptions$ctl02$uxValueInput" rows="2" cols="20" id=" MainContent_uxListOptions_uxValueInput_0" class="mceEditor"> <p>ciao</p>
-
但我无法在 JavaScript 中检索它,有什么想法吗?谢谢
标签: c# javascript gridview textbox