在我的代码中,当任何文本输入文本框并单击add attribute
按钮时,输入的值会在页面上显示两次,一个在first row of table
中,另一个在{{1}中}。现在的问题是,当我将文本输入到first row of second table
中的另一个文本框时,它应该显示输入的文本。但它无法显示。它不起作用。
second row of second table
&安培;这是HTML代码。
<script>
var i = 0;
document.getElementById('add-val').innerHTML='';
function insRow()
{
i++;
var x=document.getElementById('myTable').insertRow(-1)
var a=x.insertCell(-1)
var txt=document.getElementById('add-val').value;
a.innerHTML=txt;
// for <tr> of table
var row = document.getElementById("myRow");
var newrow=document.getElementById("myRow1");
var x = row.insertCell(-1);
var y = newrow.insertCell(-1);
x.innerHTML=txt; //+ '<br>' +
y.innerHTML='<input type="text" name="nm" />';
}
document.getElementById('add-val').innerHTML='';
</script>
答案 0 :(得分:0)
应该是
y.innerHTML='<input type="text" name="nm[]" />';
在nm之后的[]
name="nm[]"
用于将所有新生成的字段存储到一个数组中,然后可以通过$ _POST
进行访问然后您就可以这样访问....
$val = $_POST['nm'];
foreach($val as $v){
echo $v; // display what user entered
}
// var_dump($val) will show you all the users seperate input for each field
答案 1 :(得分:0)
HTML代码:
<form method="post" name="form">
<input type="text" name="attr" id="add-val"> <input type="button" onClick="insRow()" value="Add Attribute">
<table width="27" height="17" id="myTable"> </table>
<table cellpadding="13px">
<tr id="myRow"> </tr>
<tr id="myRow1"> </tr>
</table>
<input type="submit" value="Add option" onClick="insRow()"/>
<?php
if(isset($_POST['submit']))
{
$val= $_POST['nm'];
echo $val;
}
?>
</form>
将您想要打印的输入名称替换为 attr
$val= $_POST['attr'];