使用javascript将数组从HTML表发送到Php数组?

时间:2016-03-23 16:39:02

标签: javascript php html

我有一个HTML表格,我使用JavaScript从该表中获取值。

我将它们放在数组中,但是当我使用AJAX将它们发送到PHP时,我遇到了麻烦。

这是我的JavaScript,因为它不会调用我的PHP文件。实际上它没有做任何事情:

JavaScript的:

package com.example.hima.moviesapp;

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;

import java.util.ArrayList;

/**
 * A placeholder fragment containing a simple view.
 */
  public class GridViewFragment extends Fragment {
  int[] DummyImages = {R.drawable.first,R.drawable.second,R.drawable.third,R.drawable.fourth,
                    R.drawable.fifth,R.drawable.sixth};
public GridViewFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

  View rootView = inflater.inflate(R.layout.fragment_main, container, false);
    ArrayList<Integer>DummyPosters= new ArrayList<>();
    for(int i=0;i<DummyImages.length;i++) {
        DummyPosters.add(DummyImages[i]);
    }
    GridView gridView = (GridView) rootView.findViewById(R.id.gridView);
    gridView.setAdapter(new GridViewAdapter(getActivity(),R.id.movieImage,DummyPosters));

    return rootView;
}
}

PHP:

function getData(tableID) {
  var qty = [];
  var messureUnit = [];
  var price = [];
  var total = [];
  var table = x(tableID);
  var rowCount = table.rows.length;
  for (var i = 1; i < rowCount; i++) {
    messureUnit[i] = table.rows[i].cells[2].innerHTML;
    price[i] = table.rows[i].cells[3].innerHTML;
    price[i] = table.rows[i].cells[4].innerHTML;
    qty[i] = table.rows[i].cells[1].innerHTML;
  }
  var array = JSON.stringify(qty);
  $.ajax({
    type: "POST",
    data: { array1: array },
    url: "DataReceiver.php",
    dataType: 'json',
    success: function (response) {
      $('#resp').val(response);
    }
  });
}

HTML:

我用一个按钮调用JavaScript:

$qty=json_decode($_POST['array1']);
if($_POST['array1'])
{
    $message="received";     
}
echo json_encode($message);

1 个答案:

答案 0 :(得分:0)

我没有看到{j}函数getData()被调用的任何地方。

按钮上的onclick方法引用了我们在任何地方都看不到的其他功能:onclick="recogerDatosD('tblFactD');"

相反,那应该是

<button type="button"  class="btn btn-danger btn-sm" onclick="getData('tblFactD');"></button>

还要确保'tblFactD'是您尝试序列化和POST的表上设置的ID。