我有一个使用.delegate将表单输入验证应用到表单的表单,但是看起来任何带引号的表单都会消失。没有错误,引号就会消失。任何人都知道为什么会这样吗?唯一的解决方法是在文本框中输出默认值为& #34;否则,引号不会出现在文本框中,即使它实际上在值(视图源)中。
输入类型=“文本”也使用CSS3样式,不确定这是否与它有任何关系..
基本上,输入类型=“text”value =“quotes”“”或value =“quotes”“只会在呈现的html中显示'引号',而源中包含正确的值。
它仅在文本框上执行此操作,该文件框由.delegate代码定位,该代码在文本框上应用“模糊”“焦点”,该函数只是添加类并检查是否val()=“”...文本框中的实际值未在.delegate函数中传递。
委托代码中唯一的文本框:
if ($(this).val()=="")
if ($("#divid").val()=="")
答案 0 :(得分:0)
你必须逃避引号:
使用"
(不用于标记属性)。
使用"
构建字符串时,应使用\"
转义属性标记。
示例:
"<input type="text">"
错误,无法使用"
标记属性"<input type="text">"
错误,内部引号必须转义"<input type=\"text\">
“确定,正确转义。"<input value=\""\">"
确定,正确转义。解析为输入字段,其值为引号("
)。澄清:单引号中的<input type="text" value="quotes""">
(`) OR HTML源代码以这种方式解释:
<input
开始标记。type
。type
属性的值为=
)=
字符后面的第一个非空白字符是引用"
。在此报价之后搜索报价的第一次出现.. type
的值为type
。value
=
。value
属性的值为quotes
。""
。忽略。<input type="text" value="quotes">
。当使用双引号"
定义JavaScript字符串时,之前使用的子字符串将导致JavaScript错误:"<input type="
text 。 JS解释器在结束引用后发现了一个意外的字符:t
。