php - 在 html 表单中使用 javascript 函数在 php 中回显

标签 php javascript html forms function

请原谅这个标题,这是我能想到的表达问题的最佳方式。

基本上,我在一些 php 代码中有一个 html 表单,但我需要在表单内包含 javascript 函数(指定参数)。但我对转义 php 代码的单引号和双引号有疑问。见下文:

echo'<form id="create_booking_form" onsubmit="return false;">
                    <div>Student Name: </div>
                    <input id="students_name" type="text" onfocus="emptyElement('status')" onkeyup="restrict('students_name')" maxlength="30">
                    <div>Parents Name: </div>
                    <input id="parents_name" type="text" onfocus="emptyElement('status')" onkeyup="restrict('parents_name')" maxlength="30">
                    <div>Parents Email Address: </div>
                    <input id="parents_email" type="text" onfocus="emptyElement('status')" onkeyup="restrict('parents_email')" maxlength="100">
                    <div>Booking Time: </div>
                    <input id="booking_time" type="text" onfocus="emptyElement('status')" onkeyup="restrict('booking_time')" maxlength="8">
                    <div>Comments / Questions: (max 255 characters)</div>
                    <input id="comments" type="text" onfocus="emptyElement('status')" onkeyup="restrict('comments')" maxlength="255">
                    <div>Password: </div>
                    <input id="password" type="password" maxlength="16">
                    <br /><br />
                    <button id="createbookingbtn" onclick="createbooking()">Submit your booking</button>
                    <span id="status"></span>
                </form>
            </div>
        </div>';?>

我的问题例如:onkeyup="restrict('students_name')"

如果我使用单引号来指定“student_name”,它将转义 PHP 代码中的 echo 命令。如果我使用双引号,它会逃脱restrict()函数...

我能做什么?

非常感谢

有人能帮我吗?

最佳答案

如果您的字符串是使用 ' 创建的,则可以通过转义来打印 ' 字符:\',如果是使用 " 创建,然后您可以通过将其转义到 \" 来打印它。

但是,在你的情况下,我也不会这样做。我只是结束 PHP 标签并再次启动它:

?>
<form id="create_booking_form" onsubmit="return false;">
            <div>Student Name: </div>
            <input id="students_name" type="text" onfocus="emptyElement('status')" onkeyup="restrict('students_name')" maxlength="30">
            <div>Parents Name: </div>
            <input id="parents_name" type="text" onfocus="emptyElement('status')" onkeyup="restrict('parents_name')" maxlength="30">
            <div>Parents Email Address: </div>
            <input id="parents_email" type="text" onfocus="emptyElement('status')" onkeyup="restrict('parents_email')" maxlength="100">
            <div>Booking Time: </div>
            <input id="booking_time" type="text" onfocus="emptyElement('status')" onkeyup="restrict('booking_time')" maxlength="8">
            <div>Comments / Questions: (max 255 characters)</div>
            <input id="comments" type="text" onfocus="emptyElement('status')" onkeyup="restrict('comments')" maxlength="255">
            <div>Password: </div>
            <input id="password" type="password" maxlength="16">
            <br /><br />
            <button id="createbookingbtn" onclick="createbooking()">Submit your booking</button>
            <span id="status"></span>
        </form>
    </div>
</div>
<?php

但是当我希望 HTML 内容位于变量中时该怎么办?

只需使用输出缓冲区。

ob_start();
?>
    <p>Some HTML</p>
<?php
$html = ob_get_clean();

关于php - 在 html 表单中使用 javascript 函数在 php 中回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16948327/

相关文章:

javascript - 检查元素是否存在

javascript - keyup 是我应该使用的吗?

javascript - Angularjs 使用来自 http 请求的值填充 Select2 插件

php - PDO 准备错误

日期格式的 php 字符串,加上 12 小时

php - QuickBlox - 如何使用 REST API + PHP 创建 blob 内容

javascript - 谁能推荐一个优雅的 "No IE6 support"脚本?

javascript - 具有动态变化图像的 jquery 缩放

jquery - 我正在尝试做一个阅读更多按钮,但我刚开始使用 javascript/jquery

javascript - jquery no.conflict 不工作