如何使用JavaScript动态插入PHP“生成”选项(html选择)?
我正面临这个麻烦 我有以下JavaScript代码:如何使用JavaScript动态插入PHP“生成”选项(html选择)?,javascript,php,Javascript,Php,我正面临这个麻烦 我有以下JavaScript代码: echo "<script type=\"text/javascript\"> var counter = 1; function addInput(divName){ var newdiv = document.createElement('div'); newdiv.innerHTML = \"Entry \" + (counter + 1) + \" &
echo "<script type=\"text/javascript\">
var counter = 1;
function addInput(divName){
var newdiv = document.createElement('div');
newdiv.innerHTML = \"Entry \" + (counter + 1) + \" <input type='text' name='myInputs[]'>\";
document.getElementById(divName).appendChild(newdiv);
counter++;
}
</script> ";
下面是PHP代码:
$produkty="SELECT * FROM goods ORDER BY name";
if (isset($_POST['order'])) {
$name = $_POST['myInputs'];
foreach( $name as $key => $n ) {
print $n." thank you\n <br />";
}
}
echo "
<fieldset><form method='post'>
<div id='dynamicInput'>
<select name='idp[]'>";
$vys = mysqli_query($db, $goods);
while ($arr = mysqli_fetch_assoc($vys)) {
echo "<option value='".$arr['id_good']."'>".$arr['name']."</option>";
}
echo "
</select> <br />
Entry 1 <input type='text' name='myInputs[]''><br />
</div>
<input type='button' value='Add another text input' onClick=\"addInput('dynamicInput');\"><br />
<input type='submit' name='order'>
</form></fieldset>
";
每次单击submit时,我都使用它生成新的html输入
但我不仅需要生成那些html输入,还需要生成html选择,它处理来自数据库的值,并在html选择中将其显示为选项
我搜索了很多,以找到插入零件的方法。如果我理解正确,这里是一个大致的草图,说明您可以为此做些什么
<?php
$options = "";
$vys = mysqli_query($db, $goods);
while ($arr = mysqli_fetch_assoc($vys)) {
$options .= "<option value='".$arr['id_good']."'>".$arr['name']."</option>";
}
echo <<< _html
<form method="post">
<div id="dynamicInput">
<div>
<select name=idp[]>
$options
</select> <br />
Entry 1 <input type="text" name=myInputs[]><br />
</div>
</div>
<input type="button" value="Add another text input" onClick="addInput('dynamicInput');"><br />
<input type="submit" name="order">
</form>
_html;
?>
<script type="text/javascript">
var counter = 1;
function addInput(divName){
var newdiv = document.createElement('div');
newdiv.innerHTML = "<select name=idp[]><?php echo $options; ?></select> Entry " + (counter + 1) + " <input type='text' name='myInputs[]'>";
document.getElementById(divName).appendChild(newdiv);
counter++;
}
</script>
希望这有帮助…为什么不将select字符串的html存储在一个变量中,并使用echo在javascript代码中使用…?另外,我认为表单元素不能被字段集标记包围。。。相反,字段集应该在表单中…非常感谢。草图几乎是完美的;我唯一改变的是,我只使用$options,而不是在select中;谢谢你,我很感激,。。