Jquery AJAX如何防止用户更改id值,并在单击函数时检查它

问题描述 投票:3回答:1

我对此感到困惑。当页面源从值11更改为13时,它将修改13值而不是11。尽管用户将页面源更改为13,但如何使用原始ID进行提交。

 $("body").on("click", ".getcheck", function () {
    var gid = $(this).parent("td").data('id');
    var ischecked = $(this).is(":checked");

        if (ischecked) {
            $.ajax({
                type: 'POST',
                url: url +'todolist/update_checklist',
                data: { gid },
            }).done(function (getdata) {
                alert("Added")
            });
        }

    if (!ischecked) {
        $.ajax({
            type: 'POST',
            url: url + 'todolist/update_checklistcancel',
            data: { gid },
        }).done(function (getdata2) {
            alert("Deleted")
        });
    }
});

它就像用户右键单击并检查元素并将值更改为13. Value.id,它将在加载时显示在页面中。 data-id:value.id将在复选框和del按钮中生效。但是,如果用户右键单击检查并将值更改为13。它将修改表13项。

function manageRow(data) {
    var rows = '';
    var checkedverify= "checked";
    $.each(data, function (key, value) {
        var newchecked = value.checked;
        rows = rows + '<tr>';
        rows = rows + '<td>' + value.todo_list + '</td>';
        rows = rows + '<td data-id="' + value.id + '">';
        if (newchecked == 1)
            {
            rows = rows + '<input type="checkbox" style="width:21px;height: 21px;" class="getcheck" id="'
             + value.id + '"' + checkedverify + ' />&nbsp&nbsp';
        }
        else
        {
            rows = rows + '<input type="checkbox" style="width:21px;height: 21px;" class="getcheck" id="'
             + value.id + '" />&nbsp&nbsp';
        }
        rows = rows + '<button class="btn btn-danger delete_todo" style="margin-bottom:10px">Del</button>';
        rows = rows + '</td>';
        rows = rows + '</tr>';
         function markdone(getvalue) {
            alert(getvalue);
        }
    });

    $("tbody").html(rows);


}
javascript jquery ajax codeigniter model-view-controller
1个回答
2
投票

使用“JavaScript - localStorage”功能来保存网页数据,并将其用于与此类似的任务。

要使用localStorage保存信息,您需要:

localStorage.setItem("id", "11"); 

此信息将永久存储在浏览器中,直到您自己删除它:

localStorage.removeItem("id"); 

如果要删除整个数据,这将删除项目:

localStorage.clear();

因此,当用户提交表单或其他内容时,您始终可以检索原始id值。

localStorage.getItem("id");
© www.soinside.com 2019 - 2024. All rights reserved.