Asp.net相同的按钮来编辑和使用jQuery

问题描述:

我有类似的东西保存, A UI LookAsp.net相同的按钮来编辑和使用jQuery

当我点击编辑,它填充该学生的记录回文本框。我想使用相同的'保存'按钮来保存和编辑。我也通过同样的按钮来保存学生。 我想,当有人点击编辑按钮保存Ajax调用就不叫。我被困在那。目前当我编辑记录时,同样的记录也被插入。如果有人想看到代码,我可以编辑这个问题。 感谢

function UpdateStudent(id, name, fname, roll, age, phone, address) { 
debugger 
$(document).ready(function() { 
    $("#students").show(); 
    $("#txtName").val(name); 
    $("#txtFatherName").val(fname); 
    $("#txtRollNo").val(roll); 
    $("#txtAge").val(age); 
    $("#txtPhone").val(phone); 
    $("#txtAddress").val(address); 
    if (id) { 
     $("#btnSave").click(function (e) { 
      e.preventDefault(); 
      debugger 
      var Name = $("#txtName").val(); 
      var FatherName = $("#txtFatherName").val(); 
      var RollNo = $("#txtRollNo").val(); 
      var Age = $("#txtAge").val(); 
      var Phone = $("#txtPhone").val(); 
      var Address = $("#txtAddress").val(); 
      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "StudentManagement.aspx/UpdateStudent", 
       data: "{'ID': '" + id + "','Name':'" + Name + "','FatherName':'" + FatherName + "','RollNo':'" + RollNo + "','Age':'" + Age + "','Phone':'" + Phone + "','Address':'" + Address + "'}", 
       dataType: "json", 
       success: function (data) { 
        debugger 
        $("#txtName").val(""); 
        $("#txtFatherName").val(""); 
        $("#txtRollNo").val(""); 
        $("#txtAge").val(""); 
        $("#txtPhone").val(""); 
        $("#txtAddress").val(""); 
        $("#students").hide(); 
        var array = data.d; 
        $("#table").find("tr:gt(0)").remove(); 
        for (var i = 0; i < array.length - 1; i++) { 
         var row = "<tr>" 
         + "<td>" + array[i].ID + "</td>" 
         + "<td>" + array[i].Name + "</td>" 
         + "<td>" + array[i].FatherName + "</td>" 
         + "<td>" + array[i].RollNo + "</td>" 
         + "<td>" + array[i].Age + "</td>" 
         + "<td>" + array[i].Phone + "</td>" 
         + "<td>" + array[i].Address + "</td>" 
         + "<td><a href='#' onclick='UpdateStudent(\"" + array[i].ID + "\",\"" + array[i].Name + "\",\"" + array[i].FatherName + "\",\"" + array[i].RollNo + "\",\"" + array[i].Age + "\",\"" + array[i].Phone + "\",\"" + array[i].Address + "\")'>Edit</a></td>" 
         + "<td><a href='#' onclick='DeleteStudent(" + array[i].ID + ")'>Delete</a></td>" 
         + "</tr>" 
         $("#table").append(row); 
        } 
       }, 
       error: function (response) { 
        debugger 
        alert(response); 
       } 
      }); 
      return false; 
     }); 
    } 
}) 

}

,并插入代码的学​​生低于它,也

function InsetStudent() { 
debugger 
$(document).ready(function() { 
    var Name = $("#txtName").val(); 
    var FatherName = $("#txtFatherName").val(); 
    var RollNo = $("#txtRollNo").val(); 
    var Age = $("#txtAge").val(); 
    var Phone = $("#txtPhone").val(); 
    var Address = $("#txtAddress").val(); 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "StudentManagement.aspx/CreateStudent", 
     data: "{'Name':'" + Name + "','FatherName':'" + FatherName + "','RollNo':'" + RollNo + "','Age':'" + Age + "','Phone':'" + Phone + "','Address':'" + Address + "'}", 
     dataType: "json", 
     success: function (data) { 
      debugger 
      $("#txtName").val(""); 
      $("#txtFatherName").val(""); 
      $("#txtRollNo").val(""); 
      $("#txtAge").val(""); 
      $("#txtPhone").val(""); 
      $("#txtAddress").val(""); 
      $("#students").hide(); 
      var array = data.d; 
      $("#table").find("tr:gt(0)").remove(); 
      for (var i = 0; i < array.length; i++) { 
       var row = "<tr>" 
       + "<td>" + array[i].ID + "</td>" 
       + "<td>" + array[i].Name + "</td>" 
       + "<td>" + array[i].FatherName + "</td>" 
       + "<td>" + array[i].RollNo + "</td>" 
       + "<td>" + array[i].Age + "</td>" 
       + "<td>" + array[i].Phone + "</td>" 
       + "<td>" + array[i].Address + "</td>" 
       + "<td><a href='#' onclick='UpdateStudent(\"" + array[i].ID + "\",\"" + array[i].Name + "\",\"" + array[i].FatherName + "\",\"" + array[i].RollNo + "\",\"" + array[i].Age + "\",\"" + array[i].Phone + "\",\"" + array[i].Address + "\")'>Edit</a></td>" 
       + "<td><a href='#' onclick='DeleteStudent(" + array[i].ID + ")'>Delete</a></td>" 
       + "</tr>" 
       $("#table").append(row); 
      } 
     }, 
     error: function (response) { 
      debugger 
      alert(response); 
     } 
    }); 
    return false; 
}) 

}

而jQuery的负载insertStudent呼叫,像

$("#btnSave").click(function (e) { 
    e.preventDefault(); 
    InsetStudent(); 
}) 
+1

显然是我们希望看到的代码..不,我们不能让任何想法来帮助你.. –

+0

你有这种形式的任何要求的字段? – Sunny

你可以做到这一点,如:

STEP1:

如果你有任何如果你不使用你的窗体中的任何必填字段,然后使用隐藏域

:在您的形式必填字段,然后使用这个

$("#btnSave").click(function (e) { 
     e.preventDefault(); 
    if(Check value of required field not null or empty) 
    { 
     UpdateStudent(id, name, fname, roll, age, phone, address); 
    } 
    else 
    { 
      InsetStudent(); 
    } 
}); 

STEP2。此隐藏字段的默认值将为false。当用户点击编辑时,首先将true分配给隐藏字段。

$("#btnSave").click(function (e) { 
     e.preventDefault(); 
    if(Check value of Hidden field true) 
    { 
     UpdateStudent(id, name, fname, roll, age, phone, address); 
    //Here update hidden field value to false after completing the operation 
    } 
    else 
    { 
      InsetStudent(); 
    } 
}); 

希望这个逻辑能帮助你。

+1

其工作。感谢帮助。 –

+1

**第1步**帮助我。在我的情况下,所有的字段都是必需的。 –

+0

真的很棒的欢呼声... – Sunny

只删除btnSave click事件

$("#btnSave").click(function (e) { 
}); 

function UpdateStudent并调用

function UpdateStudent直接edit button点击事件

+1

没有人, 我不能这样做,因为除去** btnSave点击**事件将不提示我保存自动工作。 –

+0

您可以添加登录在UpdateStudent功能也 – cracker