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


我想

当我单击通过ajax传递给php的单元格值在警报框中显示该值时。我写了代码,但它显示警报框值,如[对象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);
    }
 }

我的php:

<?php
$plate = $_POST['plate'];
$km = $_POST['km'];
echo $plate;
echo $km;
?>

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

var result = this.cells[1].textContent;
var plate = this.cells[6].textContent;
var km = this.cells[7].textContent;

顺便说一句,似乎不需要在您的onclick函数周围使用 IIFE 模式。仅当函数引用 i 时才需要这样做,但它不需要。

顺便说一句,你可以使用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);
        }
    });
});

最新更新