string.format在下面的html上创建了一个非常奇怪的结果。我相信这与内联if代码块有关,但我还没有弄清楚。请帮帮我!
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")发布于 2014-01-16 02:57:17
我看不出有什么奇怪的地方,所以在不知道您期望的情况下,我不确定问题出在哪里。
我确实注意到了onfocus='if(this.value == '{0}') {{ this.value = ''; }}'中的一个错误,即在属性中有单引号,还有JS,这将不起作用。尝试:
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("'", "\\'"),这样您就不会因为数据中的撇号而出现相同的问题。
发布于 2014-01-16 02:56:37
在这里,试试这个:
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")发布于 2014-01-16 02:54:26
在onFocus属性中,使用转义双引号。
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")https://stackoverflow.com/questions/21145844
复制相似问题