2016-09-17 3 views
3

텍스트 변경 이벤트가 첨부 된 텍스트 상자가 있습니다.ASP에서 여러 이벤트 제한 .net 및 Javascript

이름은 자바 스크립트 경고가 서버 측에서 트리거 보여줍니다없는 경우는, 데이터베이스에서 이름을 가져 오기 위해 서버 측 이벤트를 발생 텍스트 변화에
<asp:TextBox ID="txtLoadPortCode" MaxLength="8" runat="server" ToolTip="Load  Port Code" CssClass="form-control form-control-Mandatory" OnTextChanged="txtLoadPortCode_TextChanged" AutoPostBack="true"></asp:TextBox> 

.

ScriptManager.RegisterStartupScript(this, GetType(), "OriginPortMissing", "$(function(){alert(\"This combination '" + this.txtLoadPortCode.Text + "' of Country, City & Site is not available in Master table. Please provide a valid Code.\");});", true); 

또한 제출 버튼에 자바 스크립트 입력란 검증이 첨부되어 있습니다.

ValidateFields에
<asp:LinkButton ID="btnSubmitCreateRequest" runat="server" CssClass="btn btn-primary btn-custom btn-Custom-Link" OnClick="btnSubmitCreateRequest_Click" OnClientClick="return ValidateFields();"> 
    <i class="fa fa-paper-plane" aria-hidden="true"></i> 
    <span>Submit Booking</span> 
</asp:LinkButton> 

() 함수를 내가 여러 컨트롤에 대한 현장 검증을 작성한 및 유효성 검사가 실패 할 경우는 '경고'창에 오류 메시지가 표시됩니다.

사용자가 텍스트 상자에 값을 입력하고 제출 단추를 직접 클릭하면 텍스트 변경 이벤트와 제출 단추 JavaScript 확인이 동시에 발생하여 두 번 경고 메시지가 나타납니다 (IE 11 브라우저).

제출 단추 유효성 검사 이벤트를 제한 할 수있는 방법이 있습니까?

답변

2

를 사용하여 유효성 검사를 지연 시도 설정하려면 LinkButtonvisible="true"

+0

Nice One. 내가 한 일은 그것을 숨기는 대신 처음에 텍스트를 변경 한 후에 '사용 안 함'으로 설정하고 사용 가능하게했습니다. –

0

Jquery에는 조항이 있습니다. event.stopImmediatePropagation()을 사용합니다. https://api.jquery.com/event.stopimmediatepropagation/][1] 한 번 확인하십시오. 이것은 당신을 도울 수 있습니다.

+0

좋은 제안이지만 내 경우에는 둘 다 다른 이벤트입니다. 동일한 이벤트가 두 번 이상 반복되어 event.stopImmediatePropagation()을 사용하여 결과 이벤트를 제한 할 수 있었습니까? –

1
이 단지 시간 제한에 대한

하거나 텍스트 변경 (필자는 Textchanged 이벤트에서 의미) 이후의 LinkButton보기 visible="false"로 설정하지 마십시오 초기에는 더 setTimeOut

setTimeOut(function(){ put your validation code },10000) 
+0

setTimeOut은 경보를 지연 시키며 경고를 지연시키지 않습니다. 제출 유효성 확인 경고에는 긴 목록이 있으므로 텍스트 변경 경고 지연은 사용자에게 친숙하지 않습니다. –

+0

u는 현재 2 개의 이벤트를 가지고 있으므로이 시간은 10 초에서 20 초까지 시간을 현저히 늘리고 도움이 될 것입니다. 시도해 본 결과 나에게 도움이되었습니다. –

관련 문제