繁体   English   中英

如何将引号传递给javascript函数

[英]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,'&amp;').
                replace(/>/g,'&gt;').
                replace(/</g,'&lt;').
                replace(/"/g,'&quot;');
    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(/&lt;/g, "<");
    string = string.replace(/&gt;/g, ">");
    string = string.replace(/&amp;/g, "&");
    string = string.replace(/&nbsp;/g, " ");
    string = string.replace(/\"/g, "&quot;");
    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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM