簡體   English   中英

單個撇號符號在javascript字符串比較中出錯

[英]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>

總結:使用htmlspecialcharsjson_encode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM