3

我在这里有我的 Javascript 代码,它添加了动态文本框(行)我的问题是如何使用 PHP 脚本将动态文本框中的值保存到数据库中?希望你们能帮助我。谢谢!

<script type="text/JavaScript"> 
  function addRow(r){ 
  var root = r.parentNode;//the root 
  var allRows = root.getElementsByTagName('tr');//the rows' collection 
  var cRow = allRows[0].cloneNode(true)//the clone of the 1st row 
  var cInp = cRow.getElementsByTagName('input');//the inputs' collection of the 1st row 
  for(var i=0;i<cInp.length;i++){//changes the inputs' names (indexes the names) 
  cInp[i].setAttribute('name',cInp[i].getAttribute('name')+'_'+(allRows.length+1)) 
  } 
  root.appendChild(cRow);
  } 
  function shownames(){ 
  var allInp=document.getElementsByTagName('input'); 
  for(var i=0;i<allInp.length;i++){ 
  alert(allInp[i].name) 
  } 
  } 
  </script> 

我的 HTML 代码:

   <form method="POST" action="#"> <table width="1024" border="0" cellspacing="6" cellpadding="0"> <tr>
      <td width="195"><div class="user"><input type="text" name="user_a" id="user"  tabindex="6"/></div></td> 
    <td width="410"><div class="reported"><input type="text" name="user_b" id="reported" tabindex="7"/></div></td> 
    <td width="399"><div class="reported"><input type="text" name="user_c" id="reported" tabindex="8"/></div></td> 
    <td width="10"><input name="button" type="button" value="+" onclick="addRow(this.parentNode.parentNode)"></td> </tr> </table> </form>
4

2 回答 2

1

您必须只使用动态添加的文本框的名称。

 $('form').submit(function() {
 var data=($(this).serialize());
 return false;
 });

此函数获取所有元素值并创建一个存储在数据中的字符串,现在数据将通过 ajax 调用传递。

$('form').submit(function() {
 var data=($(this).serialize());
      $.ajax({
      type: "POST",
      url: "your_some.php",
      data: data,
      }).done(function( msg ) {
      alert( "Data Saved: " + msg );
     });
}); 
于 2012-11-17T06:04:34.770 回答
0
<html>
<head>
<title>Dynamic Form</title>
<script language="javascript">
<?php $i = 1; ?>
function changeIt()
{
    //alert(i);
    //var i = 1;

my_div.innerHTML = my_div.innerHTML +"<br><input type='text' name='mytext[<?php echo $i;?>]'><input type='text' name='mytext[<?php echo $i+1;?>]'><input type='text' name='mytext[<?php echo $i+2;?>]'><br>";
<?php $i = $i+3; ?>
}
</script>
</head>
<body>

<form name="form" action="http://localhost/try.php" method="post">
<!--<input type="text" name=t1>-->
<input type="button" value="test" onClick="changeIt()">
<div id="my_div"></div>
<p class="submit"><button type="submit">Register</button></p>       
</body>

try.php(这是您将捕获值然后插入到 sql 中的文件)

<?php
    $var = $_POST['mytext'];
    echo $var[1].$var[2];
     ?>
于 2012-11-17T06:10:41.287 回答