如何通过ajax将表格单元格值传递给php

时间:2015-04-25 09:46:41

标签: javascript php html ajax

我想当我点击表格时,单元格值通过ajax传递给php,在警告框中显示该值。我编写了代码,但它的显示警告框值如[object HTMLTableCellElement] ..

任何人提供帮助,

这是我的代码:



function found(row) {
    	
    	var table=document.getElementById("table");
     var rows = table.getElementsByTagName("tr");
     for (var i = 0; i < rows.length; i++) {
		rows[i].onclick = (function() {
            
            return function() {
            	var result = this.cells[1];
            	var plate  = this.cells[6];
            	var km  =  this.cells[7];
            	var dataString = 'plate=' + plate + '&km='+km;
            	$.ajax({
                type: 'POST',
                url: 'km.php',
                async: true,
                data: dataString,
                cache: false,
                global: false,
                success: function(result) {
                	alert("succ : " + result);
                   
                }
            });
             
            }    
        })(i);
    }
 }
&#13;
&#13;
&#13;

我的php:

&#13;
&#13;
<?php
$plate = $_POST['plate'];
$km = $_POST['km'];
echo $plate;
echo $km;

?>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您将变量设置为表格单元格元素,而不是其中的文本。

var result = this.cells[1].textContent;
var plate = this.cells[6].textContent;
var km = this.cells[7].textContent;
顺便说一句,似乎没有必要在onclick函数周围使用IIFE模式。仅当函数引用i时才需要这样做,但它不需要。

BTW,您可以使用jQuery更简洁地编写整个内容:

$("#table tr").click(function() {
    var cells = $(this).find('td');
    var result = cells.eq(1).text(); // This isn't used?
    var plate = cells.eq(6).text();
    var km = cells.eq(7).text();
    $.ajax({
        type: 'POST',
        url: 'km.php',
        async: true,
        data: {plate: plate, km: km},
        cache: false,
        global: false,
        success: function(result) {
            alert("succ : " + result);

        }
    });
});
相关问题