Javascript 用单引号调用函数

Javascript 用单引号调用函数,javascript,html,Javascript,Html,我必须调用以下javascript函数 function changeExampleField(firstValue, changeId, field, wordToChange) { var exampleTxtElem = document.getElementById(changeId); var newTxt = field.value; exampleTxtElem.innerHTML = firstValue.replace(wordToChange, newTxt); }

我必须调用以下javascript函数

function changeExampleField(firstValue, changeId, field, wordToChange)
{
 var exampleTxtElem = document.getElementById(changeId);
 var newTxt = field.value;
 exampleTxtElem.innerHTML = firstValue.replace(wordToChange, newTxt);
}
问题是,我从数据库中获取“firstValue”的值,它是一个字符串,可以包含单引号。例如:

我从运行的数据库中获取一个值

<input class="" type="text" name="text_label.test_virus_connection" value="test" size="50" maxlength="50" id="a_text_label.test_virus_connection"   onkeyup="changeExampleField('Verbindung testen', 'example_label.test_virus_connection', this, 'test')"  onFocus="dispHelp('')">

但是我可以从不运行的数据库中获取值

<input class="" type="text" name="text_pass_sprachtest.label.execute.successfull" value="test" size="50" maxlength="50" id="a_text_pass_sprachtest.label.execute.successfull"   onkeyup="changeExampleField('Bewerbung(en) erfolgreich auf 'Sprachtest(s) bestanden' gesetzt!', 'example_pass_sprachtest.label.execute.successfull', this, 'test')"  onFocus="dispHelp('')">


我的问题是:是否有不同的方法调用函数(例如使用属性等)?或者用另一种方法来解决这个问题?

您应该这样做

将外部单引号替换为双引号

“Bewerbung(en)erfolgreich(s)bestanden(s)gesetzt!”

或者转义中间的单引号

“Bewerbung(en)erfolgreich auf(s)sbestanden(s)gesetzt!”


如果您不这样做,那么它不被认为是字符串

最简单的解决方案是使用反斜杠。因此,您不应该使用
\'
,而应该使用
\'
——但只用于单引号内的单引号。这些是单引号,不是勾号。这里的解决方案是在HTML中使用数据之前正确地转义数据。这对于使数据可用和防止反射的XSS攻击都是必要的。请你解释一下你在做什么好吗?举例说明;什么是id=“text\u label.test\u virus\u connection”,您希望它发生什么变化?。单引号(=用\转义)的问题有一个解决方案,但真正的问题更深。你不应该这样做。HTML中的脚本和样式混合太多。“而且你可以使用不太容易混淆的名字。”Emmanueldlay。我正在用java在服务器端构建一个html页面。这些值(例如“text\u label.test\u virus\u connection”)是数据库的条目。我对这些没有任何问题,我只对firstValue的值有问题,例如数据库条目之一=“Bewerbung(en)erfolgreich auf'Sprachtest(s)bestanden'gesetzt!”。它不起作用,因为条目中有单引号。我曾经用反斜杠来解决这个问题,但那不太管用。