首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >String.Format HTML

String.Format HTML
EN

Stack Overflow用户
提问于 2014-01-16 02:51:41
回答 3查看 21.4K关注 0票数 3

string.format在下面的html上创建了一个非常奇怪的结果。我相信这与内联if代码块有关,但我还没有弄清楚。请帮帮我!

代码语言:javascript
复制
String.Format(@"<input type='text' 
                       name='PostalCode' 
                       id='PostalCode' 
                       onfocus='if(this.value == '{0}') 
                                {{ this.value = ''; }}' 
                       value='{1}' 
                       class='enter-postal' />", 
              "Enter Postal Code", "Enter Postal Code")
EN

回答 3

Stack Overflow用户

发布于 2014-01-16 02:57:17

我看不出有什么奇怪的地方,所以在不知道您期望的情况下,我不确定问题出在哪里。

我确实注意到了onfocus='if(this.value == '{0}') {{ this.value = ''; }}'中的一个错误,即在属性中有单引号,还有JS,这将不起作用。尝试:

代码语言:javascript
复制
String.Format(@"<input type='text' name='PostalCode' id='PostalCode' onfocus=""if(this.value == '{0}') {{ this.value = ''; }}"" value='{1}' class='enter-postal' />",
"Enter Postal Code", "Enter Postal Code")

使用变量而不是文字,您也会希望使用.Replace("'", "\\'"),这样您就不会因为数据中的撇号而出现相同的问题。

票数 3
EN

Stack Overflow用户

发布于 2014-01-16 02:56:37

在这里,试试这个:

代码语言:javascript
复制
String.Format(@"<input type='text' name='PostalCode' id='PostalCode' onfocus='if(this.value == ""{0}"") {{ this.value = """"; }}' value='{1}' class='enter-postal' />", "Enter Postal Code", "Enter Postal Code")
票数 2
EN

Stack Overflow用户

发布于 2014-01-16 02:54:26

onFocus属性中,使用转义双引号。

代码语言:javascript
复制
String.Format(@"<input type='text' 
                       name='PostalCode' 
                       id='PostalCode' 
                       onfocus=\"if(this.value == '{0}') 
                            {{ this.value = ''; }}\" value='{1}' 
                       class='enter-postal' />", 
              "Enter Postal Code", "Enter Postal Code")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21145844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档