如果你看一看生成的HTML,它會是這個樣子:
<input type='button' value='send mails' onclick="sendmails(Type your Question here testin to post from chrome)">
有一些報價失蹤角落找尋你傳遞作爲參數傳遞給JS的函數的字符串sendmails
所以,我會說繞它添加一些引號;有點像這樣:
echo "<input type='button' value='send mails' onclick=\"sendmails('".$sendQuestion."')\">";
編輯:添加更多的東西...
但是,如果$sendQuestion
包含引號,它會給你另一個錯誤......因此,它可能是有用的,以
第二個解決方案將讓你像這樣的一個PHP代碼(注意:json_encode
加雙引號角落找尋串...所以它嵌入變得更難直接在函數調用...所以,讓我們用一個變量):
$sendQuestion = "Type your Question' here testin to post from chrome";
$json = json_encode($sendQuestion);
echo '<script type="text/javascript">' . "\n";
echo 'var myString = ' . $json . ';' . "\n";
echo '</script>' . "\n";
echo "<input type='button' value='send mails' onclick=\"sendmails(myString)\">";
和生成的HTML將是:
<script type="text/javascript">
var myString = "Type your Question' here testin to post from chrome";
</script>
<input type='button' value='send mails' onclick="sendmails(myString)">
哪是更漂亮:-)
也許不是很完美。但是,現在,我想你明白了吧;-)
一點題外話:json_encode
只存在,因爲PHP 5.2 ...所以你可能想檢查您使用的PHP版本...
+1提到包含引號的$ sendQuestion的可能性。這實際上是一個潛在的XSS漏洞。 – 2009-08-05 21:49:10