2012-05-08 6 views
2

숨겨진 필드에 아약스 요청의 가치를내가 값이 JQuery와에 숨겨진 필드에 웹 서비스에서 반환 저장할

$.ajax({ 
     type: "POST", 
     url: "/AutoComplete.asmx/CompareGroupName", 
     data: { Text: text }, 
     dataType: "json", 
     onfocusout: function (element) { 
      $(element).valid(); 
      $(element).filter('.valid').qtip('destroy'); 
     }, 
     success: function (data) { 
      response($.map(data.d, function (item) { 
       return { 
        value: item.igroup_id 

       } 
       $('#hdnGroupNameCheck').val = item.igroup_id; 

      })) 
     }, 


     complete: function (xhr) { 
      if (xhr.status == 200) { 
       alert("Group Name already exist"); 


      } 
      else 
       alert("Group Name does not exist"); 
     } 

    }); 

나는 그룹이 이미 존재하고 그룹이 존재하지 않고 웹 서비스가 실행되고 무엇입니까 벌금. 그러나 숨겨진 필드에서 ID를 얻고 asp.net의 코드 뒤에 동일한 메시지를 표시하는 방법.

감사합니다.

+1

'$ ('# hdnGroupNameCheck') 발 (item.igroup_id)' – OptimusCrime

+0

내가 당신의 방법이지만 숨겨진 필드 값이 설정되지 않은 시도에는..하지 – asifa

+0

코드를 디버깅하는 것이 분명히 도움이 될 것입니다. – Tuscan

답변

0
function ontextchange() { 
    if ($('#<%=txtGroupName.ClientID %>').val() != "") { 
     $('#<%=lblGroupName.ClientID %>').text($('#<%=txtGroupName.ClientID %>').val()); 
    } 
    var text = $('#<%=txtGroupName.ClientID %>').val(); 

    $.ajax({ 
     type: "POST", 
     url: "AutoComplete.asmx/CompareGroupName", 
     data: "{'Text':" + JSON.stringify(text) + "}", 
     // async: false, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: comparegroup, 
     error: function (msg) { 
      return false; 
     } 

    }); 
    return false; 

} 

function comparegroup(msg) { 
    populatecontrol(msg.d, $("#<%=lblGroupNameCheck.ClientID %>")); 

} 

function populatecontrol(list, control) { 
    var id = 0; 
    var GroupName = document.getElementById('<%=hdnGroupNameCheck.ClientID %>'); 
    if (list.length > 0) { 
     $.each(list, function (key, value) { 
      var obj = JSON.parse(value); 
      document.getElementById('<%=hdnGroupNameCheck.ClientID %>').value = obj.Second; 
      $('#lblGroupNameEdit').show(); 
      control.html("Group already exist.Click here to"); 
      $('#<%= lblGroupNameEdit.ClientID%>').text("edit or"); 
      $('#<%= lblGroupNameInquire.ClientID%>').text("inquire"); 

     }); 
     return false; 
    } 
    else 
     $('#<%= lblGroupNameCheck.ClientID%>').text(""); 
     $('#<%= lblGroupNameEdit.ClientID%>').text(""); 
     $('#<%= lblGroupNameInquire.ClientID%>').text(""); 
    } 
1

글쎄, 나는 네가 원하는 것을 정확히 이해하지 못할까 두려워. 그러나 코드에서 다음과 같은 오류가 표시됩니다. $ ('# hdnGroupNameCheck'). val = item.igroup_id;

jQuery 객체 메소드 val()은 다음과 같은 방식으로 사용해야합니다. $ ('# hdnGroupNameCheck') .val (item.igroup_id);

더 많은 생각을 추가하십시오. :-)

반환 유형을 JSON으로 설정했는지 확인합니다. 서버 측 코드가 올바른 JSON 형식의 데이터를 반환하지 않으면 success 콜백이 실행되지 않습니다. 나는이 의견에 입력으로

또한, Google 크롬 웹 브라우저를 사용하는 경우, 당신이 더 많은 것을 감지 할 좋은 개발자 도구를 사용할 수

$('#hdnGroupNameCheck').val(item.igroup_id); 

하기 전에 늘 어떤 자바 스크립트 오류가있을합니다. : D

+0

해결했지만 숨겨진 필드 값이 설정되지 않았습니다. – asifa

+0

또한 id selector를 사용 했으므로 웹 페이지에이 id 값이 1 개의 요소 만 있는지 확인해야합니다. 그래서 당신이 동일한 id를 가진 2 개 또는 3 개의 숨겨진 필드를 가지고 있다면, 숨겨진 요소 값이 실제로 설정되었는지 확신 할 수 없을 것입니다. 간단한 경고 ($ ("# hdnGroupNameCheck") .val())를 설정 한 후 설정되었는지 확인하십시오. – Codemole

+0

또한 $ ('# hdnGroupNameCheck') 이전에 javascript 오류가 발생하지 않았는지 확인하십시오 .val (item.igroup_id); 선. – Codemole