Javascript 如何在php中打印文本框值

Javascript 如何在php中打印文本框值,javascript,php,html,Javascript,Php,Html,在我的代码中,当在文本框中输入任何文本并单击“添加属性”按钮时,输入的值将在页面上显示两次,一次显示在表格的第一行,另一次显示在第二个表格的第一行。现在的问题是,当我在第二个表格第二行的另一个文本框中输入文本时,它应该显示输入的文本,但它不能显示。它不起作用 <script> var i = 0; document.getElementById('add-val').innerHTML=''; function insRow() { i++; var x=docum

在我的代码中,当在文本框中输入任何文本并单击“添加属性”按钮时,输入的值将在页面上显示两次,一次显示在表格的第一行,另一次显示在第二个表格的第一行。现在的问题是,当我在第二个表格第二行的另一个文本框中输入文本时,它应该显示输入的文本,但它不能显示。它不起作用

<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>
&这是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['add'];
echo $val;
}
?> 
</form>
应该是

   y.innerHTML='<input type="text" name="nm[]" />';
用于将所有新生成的字段存储到一个数组中,然后可由$\u 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
HTML代码:


我可能遗漏了一些内容,但您似乎没有任何名为“add”的元素,因此$\u POST['add']将始终为空。哦,非常抱歉,我忘了更改它的值。是的,这将从第一个生成的字段中获取一个值。。。。。但是如果您想多次单击“添加属性”按钮并生成多个字段,该怎么办。。。那么我的答案就是你是如何做到的。@KyleK实际上你问的问题是正确的&这就是我需要的。当我多次单击AddAttributes按钮时,文本框的数量显示在同一行中。当我在每个文本框中输入不同的文本时,它应该显示在另一行中。没用,你试过我的答案吗?您需要将这些值存储在一个数组中,然后当您使用$\u POST检索时,遍历它们并显示no@J Prakash,我指的是第二个文本框。第二个文本框将在我们单击“添加属性”按钮时出现。当我们在第二个文本框中输入任何文本时,它应该会显示文本,但它不起作用。谢谢@J Prakash,但当我们多次单击“添加属性”按钮时,它会显示多个文本框。如果我在每个文本框中输入文本并单击“添加选项”按钮,则该值应显示在不同的变量中。该值不起作用怎么办??你必须更清楚你是否在防止违约;在你身上按一下按钮?因为您需要在不刷新的情况下追加行,然后当您单击“提交”时,它应该显示您输入的所有内容当文本输入到第二个表格第二行的多个文本框中时,&单击“添加选项”按钮,它不显示任何值。是的,因为它仅在您提交表单时显示。不是在每行添加之后。如果希望它显示在每一行中,那么需要使用javascript,可能还需要使用AJAX
    $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
<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>
$val= $_POST['attr'];