AJAX:如何将动态创建的表行中的数据保存到数据库中?

时间:2019-09-24 04:03:05

标签: php 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将其推入数组以保存到数据库中

0 个答案:

没有答案