Wenn Sie einen Blick auf die generierten HTML-nehmen, wird es in etwa so aussehen:
<input type='button' value='send mails' onclick="sendmails(Type your Question here testin to post from chrome)">
Es gibt einige Zitate rund um die Zeichenfolge fehlt Ihnen als Parameter an die Funktion JS vorbei sind sendmails
Also, ich würde sagen, fügen Sie einige Zitate um ihn herum; ein bisschen wie folgt aus:
echo "<input type='button' value='send mails' onclick=\"sendmails('".$sendQuestion."')\">";
EDIT: hinzugefügt mehr stuff ...
Aber wenn $sendQuestion
Anführungszeichen enthält, es wird Ihnen eine andere Fehlermeldung erhalten ... So könnte es zu
sehr nützlich sein,
- schlechte Idee: entweder solche
'
mit \'
mit so etwas wie str_replace
- oder „transformieren“ die Zeichenfolge ein ersetzen valid-JS ein, mit zum Beispiel
json_encode
Die zweite Lösung erhalten Sie einen PHP-Code wie diese erhalten (beachten Sie, dass json_encode
doppelte Anführungszeichen rund um die Zeichenfolge hinzufügt ... so wird es schwieriger zu einbetten direkt in der Anruffunktion ... also lassen Sie uns eine Variable verwenden):
$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)\">";
Und das erzeugte HTML sein wird:
<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)">
Welche viel mehr schön ist :-)
Vielleicht noch nicht perfekt ... Aber jetzt, ich glaube, Sie erhalten den Punkt ;-)
Als Nebenbemerkung: json_encode
existiert erst seit PHP 5.2 ... so könnte man Ich möchte die Version von PHP überprüfen, die Sie verwenden ...
+1 für die Erwähnung der Möglichkeit von $ sendQuestion enthält Anführungszeichen. Es ist tatsächlich ein potenzielles XSS-Loch. –