表格行内的编辑按钮仅按连续顺序工作

时间:2016-08-25 15:22:57

标签: javascript php mysql ajax submit

我正在使用php和javascript来显示mysql中的数据,其中每行必须有一个更新按钮。

它看起来工作正常,但我得到一个奇怪的行为:当我按顺序点击按钮(#1然后#2然后#3 ..)但是当我随机点击它们时它起作用(开始使用#2或#3 ...)它什么都不做,只需重新加载页面。

你能帮我找到我做错了什么,到目前为止我的代码是...... 谢谢!

list.php的:

<?php
    $q= "SELECT * FROM list WHERE id = $f ORDER BY id";

    if ($query = mysqli_query($db_con, $q)) {
        $y=1;
        echo '<table>'.
        '<tr>'.
        '<th>#</th>'.
        '<th>Name</th>'.
        '<th>Edit</th>'.
        '</tr>';

        while ($reg= mysqli_fetch_row($query)){
            echo '<tr>';
            echo '<td>'.$y.'</td>';
            echo '<td>'.$reg[0].'</td>';
            echo '<td>
            <form id="frm_data'.$y.'" method="post">
            <input type="hidden" id="name" name="name" value="'.$reg[0].'" />
            <input type="hidden" id="f" name="f" value="'.$f.'" />
            <input type="hidden" id="a" name="a" value="'.$a.'" />
            <input id="FormSubmit" type="submit" value="EDIT">
            </form>
            </td></tr>';
            $y = $y +1;
        }
        echo '</table>';
    }
?>

validate.js

$(document).ready(function() {
    $("#FormSubmit").click(function (e) {
            e.preventDefault();

            $("#FormSubmit").hide();

            var myData = {
                name: $("#name").val(),
                a: $("#a").val(),
                f: $("#f").val()    
            };

            jQuery.ajax({
                type: "POST", // HTTP method POST or GET
                url: "update.php", //Where to make Ajax calls
                dataType:"json", // Data type, HTML, json etc.
                data:myData, //Form variables

                success : function(data) {
                    if(data.status == 'success'){
                        alert("OK!");
                    } else if(data.status == 'error') {
                        alert("ERROR!");
                    }
                },
                error : function (xhr, ajaxOptions, thrownError){
                    alert(thrownError);
                }
            });
    });
});

update.php

<?php
$f = $_POST["f"];                           
$name = $_POST["name"]; 
$q = "UPDATE list SET edited = '1' WHERE id = '$f' AND name = '$name'   ";

$update_row = mysqli_query($db_con, $q);

if (!$update_row) {
    $response_array['status'] = 'error';   
} else {
    $response_array['status'] = 'success'; 
}
?>

0 个答案:

没有答案