javascript - innerHTML 中 php 的两步动态回显

标签 javascript php jquery

第 1 步:我有一个表单,其中输入字段将由 innerHTML 动态生成。

var d = document.getElementById("d1p_1");
d.innerHTML += "<input class='add' name='field_" + i + "' type='text'>"; 

第 2 步:现在我想将每个值的 php 变量回显到每个动态生成的输入字段。像这样的东西:

d.innerHTML += "<input class='add' name='field_" + i + "' type='text' value='"<?php echo $field_" + i + "; ?>" + "'>

我怎样才能实现这一目标?

提前致谢。

提供更多信息:

这是一个表单,用户可以在其中添加字段,具体取决于他需要和将添加的字段数量。现在,用户可能会添加比通常需要的更多的字段,并在 field_1 和 field_280 之间的某个位置输入数据。为了捕获他输入数据的 field_x,我需要回显该输入字段的值。

$field_1 = value of field_1 if given;
...
$field_280 = value of field_280 if given;

innerHTML 将通过计数器动态添加输入字段 i 。所以我不知道将在哪个字段上给出什么输入。这就是为什么我还需要动态生成 PHP echo 部分。喜欢:

<?php echo $field_" + i + "; ?>

整个过程:

表单 -> 首先只包含一个输入字段(用户将进行一些输入) -> 通过单击按钮,将添加更多输入字段(1 单击 1 个字段,用户在添加之前不需要填写数据其他字段) -> 现在想象用户将添加 3 个字段,并在第一个和第三个输入字段上给出输入 -> name="field_1"和 name="field_3"->

每个输入字段的名称由 i++ 生成-> 该值为空,否则将发布表单 -> 现在用户将提交表单。 这意味着要回显的值将是 $field_3 = (isset($_POST['field_3'])) ? $_POST['field_3']; : ''; -> 这个变量对于所有 i 都存在因此每个变量都在 php 部分之前设置,但要捕获正确的输入 name="field_i"$field_i并回显此匹配是问题所在。

因此,通过单击“提交”,页面将重新加载,并且不再像以前那样只有一个输入字段,而是有 2 个输入字段。第一个是 name="field_1",第二个是 name="field_3",因为用户之前遗漏了输入 name="field_2"。因此 name="field_3"需要根据动态生成的 name="field_"+ i +" 来回显正确的值。这意味着当动态生成名称标签时,也需要动态生成 php 标签以相互匹配。

最佳答案

i 是一个 JavaScript 变量,因此将其包含在 php 声明中会给您带来问题

您可以按照如下方式从 php 代码中实现字符串连接

  <?php 
       $field_="stavo";
   ?>



  <script type="text/javascript">


     var i=10;
        var d = document.getElementById("d1p_1");
       d.innerHTML+= "<input class='add' name='field_" + i + "'    type='text'>"; 
       d.innerHTML += "<input class='add' name='field_" + i + "' type='text' value='<?php echo $field_; ?>"+i+"'>";

  </script>

当然,您的 Html 中必须包含此内容

 <div id="d1p_1"></div>

关于javascript - innerHTML 中 php 的两步动态回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532210/

相关文章:

php - MySQL/PHP mysql_fetch_array() 始终丢失第一行

php - mysql按表b分组,内联表a为随机

jquery - 如何将多维数组序列化为字符串以及相反?

javascript - webpack全局加载模块并调用初始化函数

javascript - 为什么我的函数未定义且未加载

javascript - 通过 Ajax 将数据从 Laravel 7 View 传递到 Controller

javascript - 如何使用 jQuery 查找和替换文本

jquery - 使用 jQuery 的 slideToggle 方法时出现闪光的原因是什么?

javascript - 是否可以使用 HOC 将字符串数组作为参数传递?

javascript - 使用 javascript/jquery/ajax 从目录访问文件