gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 17:45:16 25 4
gpt4 key购买 nike

编写此页面时,我从数据库获取值,然后使用 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\">";

这是 colorRed() 调用的简单函数(显然它将文本更改为红色):

function colorRed(input) { // Change text to red
document.getElementById(input).style.color = 'red'; };

感谢您的帮助!

最佳答案

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

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 的提示:仅使用一个 echo 语句并使用 , 而不是 以获得稍微更好的性能:

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">';

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

关于javascript - 如何在从 php echo 语句构建的文件中添加 javascript 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21819571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com