【发布时间】:2022-01-04 06:12:53
【问题描述】:
我在 php 中有一个表单,我试图在单击按钮时添加多个字段,我执行了以下代码:
function add_fields() {
var objTo = document.getElementById('room_fileds')
var divtest = document.createElement("div");
divtest.innerHTML = '
<div class="form-group col-md-6">
<label for="inputPassword4">Item</label>
<?php
$sqlcodes = "SELECT * FROM inventory ORDER BY categoryname ASC";
$resultcodes = mysqli_query($con, $sqlcodes);
echo "<td><select class='form-control' name='item'>";
echo "<option>Select Item</option>";
if ($resultcodes->num_rows > 0) {
while($row = $resultcodes->fetch_assoc()) {
$group[$row['categoryname']][] = $row;
}
foreach ($group as $key => $values){
echo '<optgroup label="'.$key.'">';
foreach ($values as $value)
{
echo '<option value="'.$value['name'].'">'.$value['name'].'</option>';
}
echo '</optgroup>';
}
} else {}
echo "</select></td>";
?>
</div>
<div class="form-group col-md-6">
<label for="inputEmail4">Weight</label>
<input name="weight" type="text" class="form-control" id="inputEmail4" placeholder="Weight">
</div>
';
objTo.appendChild(divtest)
}
<div id="room_fileds">
<div class="form-group col-md-6">
<label for="inputPassword4">Item</label>
<?php
$sqlcodes = "SELECT * FROM inventory ORDER BY categoryname ASC";
$resultcodes = mysqli_query($con, $sqlcodes);
echo "<td><select class='form-control' name='item'>";
echo "<option>Select Item</option>";
if ($resultcodes->num_rows > 0) {
while($row = $resultcodes->fetch_assoc()) {
$group[$row['categoryname']][] = $row;
}
foreach ($group as $key => $values){
echo '<optgroup label="'.$key.'">';
foreach ($values as $value)
{
echo '<option value="'.$value['name'].'">'.$value['name'].'</option>';
}
echo '</optgroup>';
}
} else {}
echo "</select></td>";
?>
</div>
<div class="form-group col-md-6">
<label for="inputEmail4">Weight</label>
<input name="weight" type="text" class="form-control" id="inputEmail4" placeholder="Weight">
</div>
</div>
<input type="button" id="more_fields" onclick="add_fields()" value="Add More" />
但是这不起作用,我收到以下错误:
** Uncaught ReferenceError: add_fields is not defined 在 HTMLInputElement.onclick **
谁能告诉我这里出了什么问题,提前谢谢
【问题讨论】:
-
@KenLee 是的,我做到了
-
尝试使用JSON,将PHP查询结果存储在JSOn中,然后您可以在JS函数中使用它,第二种方式创建一个html并将其存储在JS变量中,然后您可以附加它,这些都是PHP 和 Javascript 一起将无法正常工作。对于正确的方式使用 JSON
-
@KHIMAJIVALUKIYA 能否请您显示为答案
-
首先将您的 $group 数组转换为 JSON JS 代码: var groups_data = ;
-
并尝试在 JS 中使用 groups_data 变量获取循环类别数据,在 JS 函数中使用 Javascript 循环。也
标签: javascript php html jquery input