gpt4 book ai didi

javascript - 我的标记中的引号替换为 html 实体?

转载 作者:行者123 更新时间:2023-11-28 01:30:53 25 4
gpt4 key购买 nike

我有一个带有文本框和按钮的内容页(使用母版页)。我希望按钮在执行任何其他操作之前先调用一些 javascript。现在我只是在测试 javascript,所以这是一个粗略的草稿。

问题是我的标记被改变了,所以客户看不到所有的引号。引号正在转换为 HTML 实体字符串。

所以这段代码中的按钮:

<asp:Content ID="Content1" ContentPlaceHolderID="cphMainContent" runat="server">
<div>
<asp:TextBox ID="txtInputTopics"
runat="server" TextMode="MultiLine"
Width="335px" Height="250px"
CssClass="mediumFontTextbox"/>
<asp:Button ID="btnTestAdd"
runat="server" Text="Add"
OnClientClick='CheckFirstAlphaNum(document.getElementById("<%= txtInputTopics.ClientID %>").val);' />
</div>
</asp:Content>

Get 改成这样:

<input type="submit" name="ctl00$ctl00$cphBody$cphMainContent$btnTestAdd"
value="Add"
onclick="CheckFirstAlphaNum(document.getElementById(&quot;&lt;%= txtInputTopics.ClientID %>&quot;).val);"
id="cphBody_cphMainContent_btnTestAdd" />

为什么?

最佳答案

那是因为它们应该是 HTML 编码的。要在由引号分隔的属性值内包含引号,必须对其进行 HTML 编码。客户端会很好地看到引号。

您的问题是您试图在具有 <%= txtInputTopics.ClientID %> 的控件的属性内使用服务器代码标记 ( runat="server" ) .代码在 HTML 属性中按字面意思结束,而不是将客户端 ID 值放在属性中。

您需要另一种方法将值放入属性中,例如使用数据绑定(bind)表达式。参见示例:https://stackoverflow.com/a/1393407/69083

关于javascript - 我的标记中的引号替换为 html 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com