如何读取可能包含引号的字符串输入

时间:2018-02-21 15:42:44

标签: javascript jquery forms

我有一个文本输入,用户可以输入任何文本。当我将变量值设置为该输入时,如果用户输入单引号,则结束字符串。

var name = $("#recipeName").val();

这是我的表格

<input type="text" name="name" id="recipeName">

如果用户输入“汤姆的土豆配方”

var name = '"Tom's recipe of potatoes"';

有没有办法在第一次读取输入而不结束字符串?

1 个答案:

答案 0 :(得分:0)

使用引号对字符串进行硬编码并读取HTML或包含引号的数据是两回事。

在源代码中,您必须转义引号,因为它们会破坏JavaScript的语法,但是,当您只读取字符串时,JavaScript并不关心字符是字母,数字还是引号。

请参见下面的最小示例。

console.log($('#foo').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="foo" value="That's the spirit" />