在javascript字符串比较中出现单个撇号符号错误



我正在将值传递给按钮,如下所示

echo '<b><button class="my secondary button"  onclick="onAnswerClickNew(this,''.$myanswer.'',4,''.$triRow['A4'].'')">'.'D: '.$triRow['A4'].'</button></b>';

我的JavaScript函数代码是这样的:

function onAnswerClickNew(_this, answer, option, type) {
if (type == answer) {
document.getElementById('correct_audio').play();
_this.style.backgroundColor = "green";
message.appendChild(document.createTextNode("CORRECT ANSWER"));
messageContainer.appendChild(message);
messageContainer.classList.add("correctMessage");
}
}

如果单词像thats一样正常,则工作正常,但如果单词像that's,则不起作用

我已经标记了如果单词像thats,它不会向函数传递任何值。

我是javascript的新手,无法解决问题。任何人都可以帮我解决问题吗?

谢谢!

看起来你正在使用php。

如果你想让它干净,就这样做:

<button id="my-secondary-button"><?php echo htmlspecialchars($triRow['A4']) ?></button>
...
<script type="application/javascript">
$('#my-secondary-button').click(function() {
let answer = <?php echo json_encode($myanswer) ?>
... // call other funtion or whatever
})
</script>

摘要:使用htmlspecialcharsjson_encode

最新更新