如何在由php echo语句构建的文件中添加javascript函数调用

如何在由php echo语句构建的文件中添加javascript函数调用,javascript,php,Javascript,Php,编写此页面时,我从数据库中获取值,然后使用PHP创建页面。它有一个带有按钮的列,按钮带有onclick=“colorRed('line1'))。我不知道如何正确地转义它以使函数调用正常工作。如果我在PHP表单构建之外执行此操作,它会正常工作,因此我确信这就是我构建文件的方式。请查看并提供任何建议。以下是PHP部分的代码片段: echo "<form name=\"form1\" action=\"save_special_announcement.php\" method=\"post\"

编写此页面时,我从数据库中获取值,然后使用PHP创建页面。它有一个带有按钮的列,按钮带有onclick=“colorRed('line1'))。我不知道如何正确地转义它以使函数调用正常工作。如果我在PHP表单构建之外执行此操作,它会正常工作,因此我确信这就是我构建文件的方式。请查看并提供任何建议。以下是PHP部分的代码片段:

echo "<form name=\"form1\" action=\"save_special_announcement.php\" method=\"post\">";
echo "Line 1: <input id=\"line1\" size=\"39\" maxlength=\"38\" type=\"text\" value=\"" .$row['line1']. "\"/>
<input type=\"button\" onclick=\"colorRed('line1')\" name=\"button1\" value=\"Red\">";

感谢您的帮助!

首先,如果您用单引号将字符串括起来,您会更高兴,因为这样您就不需要转义所有的双引号,您的任务会自动变得更简单,如下所示:

echo '<form name="form1" action="save_special_announcement.php" method="post">';
echo 'Line 1: <input id="line1" size="39" maxlength="38" type="text" value="' . $row['line1'] . '"/>';
echo '<input type="button" onclick="colorRed('line1')" name="button1" value="Red">';

另外,如果您还没有这样做,请确保
$row['line1']
的值已正确编码(使用
htmlspecialchars()
)。如果它包含符号和、双引号或其他一些字符,并且没有编码,您将遇到问题。

使用字符串插值:
onclick=\“colorRed('$input')\”
echo '<form name="form1" action="save_special_announcement.php" method="post">';
echo 'Line 1: <input id="line1" size="39" maxlength="38" type="text" value="' . $row['line1'] . '"/>';
echo '<input type="button" onclick="colorRed('line1')" name="button1" value="Red">';
echo '<input type="button" onclick="colorRed(\'line1\')" name="button1" value="Red">';
echo '<form name="form1" action="save_special_announcement.php" method="post">',
     'Line 1: <input id="line1" size="39" maxlength="38" type="text" value="', $row['line1'], '"/>',
     '<input type="button" onclick="colorRed(\'line1\')" name="button1" value="Red">';