首页 > 解决方案 > AJAX:如何将动态创建的表行中的数据保存到数据库中?

问题描述

我正在使用ajax按钮单击生成表格行供用户输入数据,问题是当它推入数组时我无法获取值

这是单击以生成表格行的按钮

 $('#addWEduc').click(function(){
    $('#empEduc').append('<tr align="center"><td><input type="text" name="insti[]" id="insti" style="width:98%"/></td><td><select name="lvl[]" id="lvl" style="width:98%"><option value="bach" >degree</option></select></td><td><input type="text" name="course[]" id="course" style="width:98%"/></td><td><input type="text" pattern="[0-9]{4}" placeholder="example : 2000" name="yrGrad[]" id="yrGrad" style="width:98%"/></td><td><input type="checkbox" name="EducR"/></td></tr>');

单击此按钮可将数据保存到数据库中

$('#btnAddEmp').click(function(){
var rowCount = $('#empEduc tr').length;
        var dataString = [];
        dataString.length = rowCount - 1;
        for(var i=1;i<rowCount;i++)
        {
            var txtrow1 = $('#insti'+(i-1)).val();
            var txtrow2 = $('#lvl'+(i-1)).val();
            var txtrow3 = $('#course'+(i-1)).val();
            var txtrow4 = $('#yrGrad'+(i-1)).val();

            dataString[i-1] = [txtrow1,txtrow2,txtrow3,txtrow4];
        }
        $.ajax({type:"POST",url:"function/Function_AEmp.php",data:{"data":dataString}});
});

这是保存到我的数据库中的功能

$data = strtoupper(trim($_POST['data']));

foreach($data as $value){
    $txtrow1 = $value['0'];
    $txtrow2 = $value['1'];
    $txtrow3 = $value['2'];
    $txtrow4 = $value['3'];

    $sql = "INSERT INTO tbledubg (IC,Institution,Certi,Course,GradYear) VALUES('988',$txtrow1,$txtrow2,$txtrow3,$txtrow4)";

    mysqli_query($sql,$conn);
}

对于测试,我尝试发现 txtrow1 和其他 3 的值在数组中未定义...我认为我需要的功能是如何获取我在动态表行中键入的值并推入数组以保存到数据库中使用 ajax

标签: phpajax

解决方案


推荐阅读