将HTML转换为php数组

时间:2015-08-07 18:47:54

标签: javascript php jquery html json

我目前有一张表格里面有一张桌子。我想将这些值传递给php脚本。我最好的方法是什么?我搜索过的所有内容都不适用。

这就是我格式化表单的方式:

<form id="pageform" action="phpscript.php" method="post">
  <table>
    <tbody>
      <tr>
        <td><input type="text" class="nestedInput"name="txtName" value="John"></td><td><input type="text" class="nestedInput" name="txtLocation" value="North St"></td><td><input type="text" class="nestedInput" name="txtAge" value="42"></td>
      </tr>
      <tr>
        <td><input type="text" class="nestedInput"name="txtName" value="John"></td><td><input type="text" class="nestedInput" name="txtLocation" value="North St"></td><td><input type="text" class="nestedInput" name="txtAge" value="42"></td>
      </tr>
      <tr>
        <td><input type="text" class="nestedInput"name="txtName" value="John"></td><td><input type="text" class="nestedInput" name="txtLocation" value="North St"></td><td><input type="text" class="nestedInput" name="txtAge" value="42"></td>
      </tr>
    </tbody>
  </table>
  <input type="button" name="btnSubmit" id="btnSubmit" value="Submit">
</form>

jQuery:

$("#btnSubmit").click(function(){

  var array = [];

  $(".nestedInput").each(function(n){
    array[n] = $(this).val();
  });

  document.forms["pageform"].submit();

});

我的PHP:

<?php
  $array=json_decode($_POST['json']);
  print_r($array);    
?>

我想要做的是使用每个tr中每个输入的值运行mysqli插入。关于如何做到这一点的任何想法?

3 个答案:

答案 0 :(得分:2)

在phpscript.php中,您可以像这样访问这些变量:

$name = $_GET['txtName']
$location = $_GET['txtLocation']
$age = $_GET['txtAge']

通过表单提交的变量将存储在全局数组$ _GET或$ _POST中(取决于您的表单是否使用GET或POST。您的表单没有定义此method属性,因此它默认为GET。More on this here.)。

另外值得注意的是,您的提交按钮的ID属性应为id="btnSubmit",而不是id="#btnSubmit"

答案 1 :(得分:0)

不需要jQuery以及所有这些......只需使用HTML matObj = matfile('work_%s') matObj.Properties.Writable = true matObj.experiment(i) = newValue; 标记的默认功能

为此,首先,改变

<form>

<input type="button" name="btnSubmit" id="#btnSubmit" value="Submit">

然后为表单标记添加一个方法,如

<input type="submit" name="btnSubmit" id="#btnSubmit" value="Submit">

现在,在您的<form id="pageform" action="phpscript.php" method="post"> 页面中,在php标记内的开头添加phpscript.php ..

单击提交按钮后,var_dump($_POST)将打印一个包含所有表单数据的数组。

要检索php页面中的值,您可以像

一样执行此操作
var_dump()

其中echo $_POST['txtName']; 是您输入的名称。

与其他输入相似..

答案 2 :(得分:0)

使用jQuery ajax方法;

function send_form(this) {
   jQuery.ajax({
      type: 'POST',
      url: $(this).attr('action'),
      data: $(this).serialize(),
      error:function(){ console.log('error'); },
      success: function(data) { $console.log(data);}
   });
   return false;
}

你的表格;

<form id="pageform" onsubmit="return send_form(this);" action="phpscript.php">
   <table>
      <tbody>
        <tr>
          <td><input type="text" class="nestedInput"name="txtName" value="John"></td>
        </tr>
        <tr>
          <td><input type="text" class="nestedInput" name="txtLocation" value="North St"></td>
       </tr>
       <tr>
         <td><input type="text" class="nestedInput" name="txtAge" value="42"></td>
      </tr>
   </tbody>
</table>

 

在phpscript.php;

$name = $_POST['txtName'];
$txtLocation= $_POST['txtLocation'];
$txtAge= $_POST['txtAge'];