未终止的字符串文字Javascript

时间:2010-07-10 07:22:24

标签: php javascript

我在php中使用以下代码:

PHP:

 $suggested_sentence[0] = "Hello, how are you?";
  echo $suggested_sentence[0] . ' <input type="image" src="button.png" 
  onclick = update_textarea('. $textareacount.','. "'".$suggested_sentence[0]."')/>";

Javascript功能:

function update_textarea(count, new_sentence) {
    document.getElementById('sentence' + count).value = new_sentence;
}

但是,当我按下按钮时,我得到错误“未终止的字符串文字,但如果我更改$suggested_sentence[0] = "Hello"的值,它可以正常工作。

那我该怎么办?

2 个答案:

答案 0 :(得分:1)

执行PHP后检查文件,确保按钮看起来像这样......

<input type="image" src="button.png" onclick="update_textarea(1, 'Hello, how are you?');"/>

请注意,onclick事件包含双引号。

您可以像这样调整示例:

 $suggested_sentence[0] = "Hello, how are you?";
  echo $suggested_sentence[0] . ' <input type="image" src="button.png" 
  onclick="update_textarea('. $textareacount.', '. "'" . $suggested_sentence[0]."'" . ')"/>';

答案 1 :(得分:0)

HTML encode $suggested_sentence[0],因为它可能包含破坏javascript文字的字符(例如',因此请务必将此quote_style设置为ENT_QUOTES