2009-10-02 1 views
1

응용 프로그램 내에서 발생하는 문제를 복제하는 데 아주 간단한 테스트 페이지를 만들었습니다. 너무 오래 걸린 것처럼 보이는 것이 그리 간단한 일이 아닙니다.OnClick 이벤트가 실행되지 않음

코드의를 Page_Load에서에서 .aspx 페이지

<body> 
<form id="form1" runat="server"> 
    <asp:TextBox ID="tb" runat="server"></asp:TextBox> 
    <asp:Button ID="btnOk" runat="server" text="OK" Width="60px" UseSubmitBehavior="true" OnClientClick="saveAmendments();" /> 
</form> 

내가로 렌더링됩니다 텍스트 상자

if (!IsPostBack) 
    { 
     tb.Attributes.Add("onchange", "addSaveDetails('abc###123###456###test###abc###');"); 
    } 
} 

에 onchange를 속성을 추가 뒤에은

<body> 
    <form name="form1" method="post" action="TestJP.aspx" id="form1"> 
    <div> 
     <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUi3er8ht8oaCZzy2..." /> 
    </div> 

    <div> 
     <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKOoa..." /> 
    </div> 

    <input name="tb" type="text" value="testtt" id="tb" onchange="addSaveDetails('abc###123###456###test###abc###');" /> 
    <input type="submit" name="btnOk" value="OK" onclick="saveAmendments();" id="btnOk" style="width:60px;" /> 
</form> 
을 다음과

그래서 텍스트 상자의 값을 변경하고 화면의 다른 부분을 클릭하면 AddSaveDetails 함수가 실행됩니다. 그런 다음 버튼을 클릭하면 saveAmendments가 실행됩니다. 그러나 텍스트를 변경 한 다음 버튼 (화면의 다른 부분이 아닌)을 클릭하면 첫 번째 (onchange) 기능 만 실행됩니다. onClick 이벤트는 결코 수행하지 않습니다. 호출되는 js는 경고 이외의 아무것도하지 않습니다. 마지막 호출까지 버블 링되는 이벤트를 멈출 수있는 것은 무엇입니까?

답변

4

알림 외에 기능에서 true를 반환하도록 시도하십시오. 나는 당신이 false를 돌려 주거나 (false로 해석되는 아무것도 없기 때문에) 이벤트 액션 전파가 멈추고 있다고 가정한다.

0

분노. 감사합니다 tvanfosson. 그것은 올바른 방향으로 나를 잡았지만, 명시 적으로 참을 반환 할 필요가 없습니다.

제 j의 함수에서 나는 디버거를 가졌습니다. 성명서. 그게 일을 망쳐 놓고있어.

e.e. 디버거 고정 일을 언급 ..

function addSaveDetails(strDetails) { 
debugger; 
alert('func1'); 
//return true; 

} 디버거에 대해 그것을 무엇

을; 두 번째 이벤트 발사를 막아! 아하. 그것은 실제로 존재하지 않는 것을 해결하려고하는 문제를 만들었다.