javascript – 如何打印HTML代码,以便我只写一次?

我正在使用Web应用程序,我正在进行一些重构.

这样做,无论如何,我陷入了两难境地:我在我的页面中有一些类似的或相同的部分,我只想压缩一个,以便只进行一次编辑,因为编辑变得很痛苦.

但怎么办呢?我正在使用php,js和jquery.

使用php echos这样做是一个很大的问题;管理所有括号真的很难,无论如何它对我来说不是最优雅的解决方案,另外,我需要对我打印的东西进行一些控制.

我正在思考一些关于功能的事情,但由于我没有多少经验,所以我真的不知道我能在哪里发挥作用.先感谢您.

编辑:我被问到一些例子.

<form action="insert.php" method="POST" class="big" style="display:none;">
<h3> Insert Contact </h3>
    <fieldset class="col2">
    <!-- Some inputs here -->
    </fieldset>

    <div>
        <input type="submit" value="Send">
        <input type="reset" value="Clean Form">
    </div>
    <input type="text" name="insert" value="1" style="display:none;">
    <input type="text" name="modify" value="1" style="display:none;">
    <input type="text" name="secret" value="<? echo($perm); ?>" class="hidden">
</form>

例如,这是我想在某些页面中添加的表单.在其他一些我不想要的.但是,例如我需要,根据调用的页面,切换一些参数或更改一些值,这是我认为我不能用PHP包括的事情.

最佳答案 您可以使用PHP的include()函数在文件中包含HTML.

使用您提供的HTML的示例

form.php的

<form action="insert.php" method="POST" class="big" style="display:none;">
<h3> Insert Contact </h3>
    <fieldset class="col2">
    <!-- Some inputs here -->
    </fieldset>

    <div>
        <input type="submit" value="Send">
        <input type="reset" value="Clean Form">
    </div>
    <input type="text" name="insert" value="1" style="display:none;">
    <input type="text" name="modify" value="1" style="display:none;">
    <input type="text" name="secret" value="<? echo($perm); ?>" class="hidden">
</form>

header.php文件

<div>Hello World!</div>
<?php $value = 10; ?>

的index.php

<html>
    <head>
    </head>
    <body>
        <?php include(header.php); ?>
        <div>This is some content.  The number is <?php echo($value); ?></div>
        <?php include(form.php); ?>
    </body>
</html>

输出HTML

<html>
    <head>
    </head>
    <body>
        <div>Hello World!</div>
        <div>This is some content.  The number is 10</div>
        <form action="insert.php" method="POST" class="big" style="display:none;">
        <h3> Insert Contact </h3>
        <fieldset class="col2">
        <!-- Some inputs here -->
        </fieldset>

        <div>
            <input type="submit" value="Send">
            <input type="reset" value="Clean Form">
        </div>
        <input type="text" name="insert" value="1" style="display:none;">
        <input type="text" name="modify" value="1" style="display:none;">
        <input type="text" name="secret" value="<? echo($perm); ?>" class="hidden">
        </form>
    </body>
</html>

如果要在两种不同的表单中进行选择,可以使用以下任何一种方法进行选择:

方法1:在不同页面上包含相关表格

insert.php

<?php include("insert-form.php"); ?>

edit.php

<?php include("edit-form.php"); ?>

方法2:根据条件包括相关表格

的index.php

<?php
$formchoose = "insert";

if($formchoose == "insert") {
    include("form-insert.php");
} else {
    include("form-default.php");
}
?>

方法3:在include中执行条件(这是您在评论中询问的那个)

的index.php

<?php
$formchoose = "insert";
include(forms.php);
?>

forms.php

switch ($formchoose) {
    case "insert":
        ?>
            <form id="insert-form">
            <!-- form here-->
            </form>
        <?
    break;
    case "edit":
        ?>
            <form id="edit-form">
            <!-- form here-->
            </form>
        <?
    break;
    default:
    break;
}

文档

http://php.net/manual/en/function.include.php

点赞