PHP回声改变文本?

Jon*_*Lam 1 php echo

我是一名初学PHP程序员,我想知道我的代码出了什么问题.

以下是受影响地点的小摘录:

echo "<form action='?tab=4' name='toedit5' method='get'><input value='text' onblur='edit('toedit5')' /></form>";
Run Code Online (Sandbox Code Playgroud)

在Chrome的开发者工具中,form元素完全消失了,edit('toedit5')变成了edit(' toedit5').

edit()功能不执行.

这一行代码有什么问题吗?否则就是外面的代码弄乱了它.对不起,我没有包含它,但我不知道要包含什么.如果您需要更多信息,请告诉我.

谢谢.

Chr*_*pen 5

您需要引用的echo'd语句中转义引号,如下所示:

<?php
    echo "<form action='?tab=4' name='toedit5' method='get'>";
    echo "<input value='text' onblur='edit(\"toedit5\")' />"; // escaped..!
    echo "</form>";
?>
Run Code Online (Sandbox Code Playgroud)

当我开始时,它帮助我这样思考:你的浏览器如何知道第二个单引号onblur='edit('toedit5')'是关闭你的onblur陈述还是打开参数?在此示例中,您的浏览器将配对它看到的前两个引号并将其分配给onblur属性,即:onblur='edit('仅限:

更新1:

使用上面的代码,我检查了我在Chrome的开发人员工具中创建的一个快速PHP页面,并且能够看到以下内容(可供检查的表单):

开发者工具的屏幕截图