2015-09-04 38 views
2

我有類似的東西保存, 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

回答

1

你可以做到這一點,如:

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

1

只刪除btnSave click事件

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

function UpdateStudent並調用

function UpdateStudent直接edit button點擊事件

+1

沒有人, 我不能這樣做,因爲除去** btnSave點擊**事件將不提示我保存自動工作。 –

+0

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

相關問題