2012-09-21 5 views
0

프로그래밍 방식으로 표시/숨기기 divs에있는 텍스트 상자 몇 개의 asp.net 4.0 양식 단일 페이지가 있습니다. 이포스트 백에서 정지 페이지 onkeypress 이벤트

<fieldset> 
    <div class="WizardStepDiv"> 
     <label for="MobileNumber"> 
      Please enter your mobile number</label> 
     <%--<asp:TextBox name="vmobilenumber" ID="vmobilenumber" runat="server" Style="width: 150px"></asp:TextBox>--%> 
     <input type="text" name="vmobilenumber" id="vmobilenumber" runat="server" style="width: 150px" 
      onkeypress="javascript: return searchKeyPress(event);" /> 
    </div> 
    <div class="navigationArrows"> 
     <div style="margin-left: 35%; width: 165px;"> 
      <div class="previousbutton" style="float: left; padding: 3px 0 0 6px"> 
       <a href="#" onclick="NavigatetoPreviousScreen()"> 
        <img src="image/left_arrow.png" width="18" height="25" alt="navigateprevious" style="background-image: url(image/arrow_box.png)" /> 
       </a> 
      </div> 
      <div class="nextbutton" style="float: right; padding: 3px 0 0 6px"> 
       <a href="#" id="searchMobileNumber" onclick="NavigatetoNextScreen()"> 
        <img src="image/right_arrow.png" width="18" height="25" alt="navigatenext" style="background-image: url(image/arrow_box.png)" /> 
       </a> 
      </div> 
     </div> 
    </div> 
</fieldset> 

searchKeyPress (이벤트) 같이 정의 onkeypressevent 내 폼 특정 텍스트 박스에

function searchKeyPress(e) { 
// look searchcheckoutKeyPress for window.event in case event isn't passed in 
if (typeof e == 'undefined' && window.event) { e = window.event; } 
if (e.keyCode == 13) { 
    document.getElementById('searchMobileNumber').click(); 
    if (e.stopPropagation) { 
     e.stopPropagation(); 
    } else { 
     e.cancelBubble = true; 
    } 
    (event.preventDefault) ? event.preventDefault() : event.returnValue = false; 
} 

}

NavigatetoNextScreen() 함수는 다음과 같이 정의된다위한 휴대폰 번호 텍스트 박스를 검증 비어 있지 않고 유효성 검사를 통과하면 아래와 같은 아약스 호출이 발생합니다 (아래 부분).

var mobilenumber = $.trim($("#vmobilenumber").val()); 
     if (mobilenumber == "" || !isNumber(mobilenumber)) { 
      error += "<span>Please enter a valid mobile number to proceed to the next step</span></br>"; 

     } 
     if (error == "") { 
      $("#errormessage").hide(); 
      methodName = "GetVistorByMobileNumber"; 
      $.support.cors = true; 
      $.ajax({ 
       type: 'GET',); 

유효성 검사 오류가 발생하면 페이지가 다시 게시되지 않지만 Ajax 호출에서 (두 경우 모두 처리 한 후에) 성공 또는 오류를 반환하면 원하지 않는 웹 페이지의 포스트 백이 반환됩니다.

이 동작은 Firefox, Chrome 및 IE에만 ​​적용됩니다 포스트 백이 아닙니다. 무엇이 문제 일 수 있습니까? 당신의 도움에 미리

덕분에이 기능 YouNavigatetoNextScreen(evt) 등) (evt.preventDefault 전화에

답변

0
<a href="#" id="searchMobileNumber" onclick="NavigatetoNextScreen()"> 

패스 이벤트 객체;

function YouNavigatetoNextScreen(){ 
    //... your code 
    evt.preventDefault(); 
} 
+0

감사합니다. @Adil (도움을 주신 분) –

+0

@Hamza Ahmed Zia – Adil

관련 문제