Если вы посмотрите на сгенерированный HTML, это будет выглядеть примерно так:
<input type='button' value='send mails' onclick="sendmails(Type your Question here testin to post from chrome)">
Есть некоторые цитаты отсутствуют Arround строки вы передаете в качестве параметра функции JS sendmails
Итак, я бы сказал, добавьте некоторые цитаты вокруг него; немного как это:
echo "<input type='button' value='send mails' onclick=\"sendmails('".$sendQuestion."')\">";
EDIT: добавлено больше вещей ...
Но, если $sendQuestion
содержит кавычки, то достану тебе другую ошибку ... Так что это может быть полезно для
- плохая идея: либо заменить те
'
с \'
с чем-то вроде str_replace
- или «преобразовать» строку к действительный-JS один, с, например,
json_encode
Второе решение поможет вам PHP код, как этот (обратите внимание, что json_encode
добавляет двойные кавычки Arround строки ... так что становится все труднее врезать непосредственно в вызове функции ... так что давайте использовать переменную):
$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. –