gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-27 23:06:34 24 4
gpt4 key购买 nike

第 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/

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