[英]Single apostrophe symbol making error in javascript string comparison
我正在將值傳遞給按鈕,如下所示
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
我已經標記,如果 word 就像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>
總結:使用htmlspecialchars和json_encode 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.