2016-09-23 1 views
-1

편집 버튼을 누르면 웹 서비스 함수를 호출하고 질문 매개 변수 목록을 반환하고 각 편집 버튼에 대해 올바른 값을 반환하지만 값을 반환 한 후에는 모든 HTML 입력이 반환됩니다. 이 함수를 채우면 다시 명확 해집니다. 이유는 무엇입니까?내 자바 스크립트가 포스트 백을 호출하는 이유는 무엇입니까?

자바 스크립트와 jQuery를 :

$(document).ready(function() { 
    $('.divPreview').on("click", ".editbtn", function() { 
     var idQ = 0; 

     idQ = $(this).val(); 
     var Did = { 'Qid': idQ }; 
     alert(idQ); 

     $.ajax({ 
      type: "POST", 
      async: false, 
      url: "/WebService.asmx/GetQuestion", 
      data: JSON.stringify(Did), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: OnSuccess, 
      error: function (r) { 
       alert(r.responseText); 
      }, 
      failure: function (r) { 
       alert(r.responseText); 
      } 
     }); 

     function OnSuccess(response) { 

      var question = response.d; 

      $(".dropdown_fields").html('<select id="dplQuestionType" class="dropdown_selector"><option value="radio">Radio Button</option> <option value="checkbox">Check Box</option></select>'); 
      $(".input_field").html('<p>Q1:<input id="txtQuestion" type="text" /></p> <p> Answer Choices:</p><div><input id="hdnC1" type="hidden" value="0" /><input id="txtC1"type="text" name="mytext[]" /><input id="cbActive1" type="checkbox" /></div><div><input id="hdnC2" type="hidden" value="0" /><input id="txtC2" type="text" name="mytext[]" /><input id="cbActive2" type="checkbox" /></div>'); 
      $(".OtherOption").html('<input id="btnAddField" class="btnAddField" type="button" value="Add Choices"/><br>Page Number<input id="txtPageNumber" type="text" /> Question Order: <input id="txtOrder" type="text" /><br/><p><input id="cbCommonField" type="checkbox" />Add a Common Field</p><br/>Is Required<input id="cbIsRequire" type="checkbox" />Is Active<input id="cbIsActive" type="checkbox" /><br/>Hint:<textarea id="txtaHint" rows="2" cols="20"></textarea> '); 
      $(".ButtonField").html('<p><input id="btnSave" type="button" value="Save" onclick="GetQuestionInfo()" />&nbsp;&nbsp;&nbsp;<input id="btnCancel" class="btnCancel" type="button" value="Cancel" /></p>'); 


      document.getElementById("btnAddQuest").style.visibility = 'hidden'; 
      document.getElementById("txtOrder").value = question.qst_Order; 
      document.getElementById("txtPageNumber").value = question.qst_PageNumber; 
      document.getElementById("cbIsRequire").value = question.qst_Order; 
      document.getElementById("cbIsActive").value = question.qst_Order; 
      document.getElementById("txtaHint").value = question.qst_Hint; 
      document.getElementById("dplQuestionType").value = question.qst_Type; 
      document.getElementById("hdnQuestionID").value = question.qst_Id; 

      alert(question.qst_txt); 
     } 
    }); 
}); 

답변

0

당신은 실제로 아약스 요청을 할, 당신은 단순히 양식에서 정상적인 POST 요청을하고있는 아약스 요청을하지 말자고은 기본 사용 제출 방지 e.preventDefault();

$('.divPreview').on("click", ".editbtn", function (e) { 
e.preventDefault(); 
+0

빠른 답변 주셔서 감사합니다. –

관련 문제