[英]How to pass quotation marks to javascript function
我有一个javascript函数,它接受包含引号的字符串并在输入字段中显示。 但是这个函数不接受引号后面的字符串
function searchFormatter(cellvalue, options, rowObject) {
return '<input id="txt' + cellvalue + '" type="text" disabled="disabled" value="' + cellvalue + '" />';
}
例如。 21“英寸==> 21
无论如何,我可以将引号传递给函数并打印它们。 我不想替换它们。 我想要显示它们。
您必须转义特殊的HTML字符,例如"
, <
, >
。例如:
function searchFormatter(cellvalue, options, rowObject) {
cellvalue = cellvalue.
replace(/&/g,'&').
replace(/>/g,'>').
replace(/</g,'<').
replace(/"/g,'"');
return '<input id="txt' + cellvalue + '" type="text" disabled="disabled" value="' + cellvalue + '" />';
}
你必须传递cellValue的值,如下所示(var cellValue = 21“(应该给出21后跟”后面跟着;(分号))
你可以在输入框中得到21“的值。希望这会有所帮助。
你需要替换“with&ampquot;
使用此辅助方法:
function htmlEncodeInputDisplay(string) {
if (string == null || jQuery.trim(string) == "") return string;
string = string.replace(/</g, "<");
string = string.replace(/>/g, ">");
string = string.replace(/&/g, "&");
string = string.replace(/ /g, " ");
string = string.replace(/\"/g, """);
return string;
}
您可以使用Javascript函数escape()对sting进行编码,然后使用unescape()在需要时对其进行解码。
您也可以手动转义它们,如下例所示。
var name = prompt("Please write your \'name\' in the box\r Write it with \"quotes\" like this.","");
使用\\转义的报价作为字符串的一部分进行。
只是在创建输入元素时转义该值,然后取消该值以正确显示它。
简化示例:
function make_input(val) {
return '<input value="' + escape(val) + '" />';
}
// add to dom
$('input').each(function(){
var current_value = $(this).val()
var new_value = unescape(current_value)
$(this).val(new_value)
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.