2012-03-08 3 views
1

나는 ASP.NET/C# 웹 응용 프로그램에서 작업 중입니다. 확인란이 있습니다. 및 I/검사 때 체크 박스는 버튼 클릭을 시뮬레이션 자바 크롬 및 스마트 폰 브라우저에서 Javascript가 작동하지 않습니다.

내가

<input id="filtercheck" runat="server" type="checkbox" value="Filter" onclick="document.getElementById('Button1').click();"/> 

Button1을 내가 클릭하면

<asp:LinkButton ID="Button1" runat="server" OnClick="Button1_Click"/> 

그래서 일반 버튼입니다 그것을 할 자바 스크립트를 사용 선택 해제하려면 확인란을 선택하면 Button1을 클릭 한 것과 같습니다.

모든 것이 파이어 폭스와 인터넷 익스플로러에서 잘 작동합니다. Google 크롬 및 스마트 폰 브라우저에서는 작동하지 않습니다.

이 문제를 어떻게 해결할 수 있습니까?

또한 인터넷 익스플로러 및 파이어 폭스에서는 작동하지만 Google 크롬 및 스마트 폰 브라우저에는 작동하지 않는 몇 가지 다른 자바 스크립트 및 Jquery 스크립트가 있습니다.

내 웹 사이트가 모든 브라우저에서 완벽하게 호환되는지 확인하려면 어떻게해야합니까?

감사합니다 도움이 Button1을 된 ClientID가 필요 아마

+0

jQuery는 브라우저 간 호환성이 뛰어납니다. jQuery를 사용하여 이벤트 핸들러를 연결하면 더 나은 결과를 얻을 수 있습니다. – jrummell

답변

0

편집 : 네,이 첫 번째 일이었습니다. Chrome이 linkButton에서 질식하고 예상대로 렌더링하지 않았습니다.

내가 물어볼 예정이었습니다. 이 ID는 HTML id 속성과 동일합니까? 어떻게 asp "LinkButton"HTML로 렌더링합니까?

편집 : asp.net shenanigans에 문제가있는 사람에게 도움이 될 수 있도록 나머지는 남겨 두겠습니다.

HTML의 유효성을 확인 했습니까? 네가하고있는 일이 특히 미친 것은 아니다. HTML 손상이 원인 일 수 있습니다.

또한 크롬에서 다른 방법으로 해당 기능을 한 번 실행 해보세요.

그래도 도움이되는 한 가지. JavaScript를 페이지에서 꺼내서 링크 된 파일에 저장하십시오. 자신의 방식대로 js를 쉽게 만드는 것에 대해 Microsoft 제품에서 알려주지 마십시오. 그들이 한 최고의 물건은 .net MVC 그냥 도망 가지.

편집 : 대기. 웹 폼을 사용하고 있습니까? 그게 당신 문제 일 수 있습니다.이 경우 초점을 맞추고 어리석은 것을 클릭해야 할 수도 있습니다. 일부 MS 엔지니어는 사기범들을 데이지 체인 방식으로 쉽게 연결할 수있는 방법을 찾는 사람들을 보호합니다. 나는 끔찍한 JS를 통해 그 중 하나를 잠시 생각했다.

+0

첫 번째 질문은 나에게 답을 주었다. 분명히 구글 크롬에서 asp "LinkButton"렌더링 오류가 발생했습니다. 나는 "LinkButton"을 단순한 "Button"으로 변경했으며 효과가있었습니다. 감사. (귀하의 답변에이 정보를 추가하면 대답으로 받아 들일 것입니다) – Youssef

0

에 대한 많은?

document.getElementById('<%= Button1.ClientID %>').click() 
0

모든 브라우저에서 완벽하게 호환됩니까? 짧은 대답? No fancy stuff.

좀 더 긴 대답은 w3c가 제시 한 표준에 의해 허용되는 것을 수행하고 모든 브라우저가 호환되기를 바랍니다. 그들은 결코 100 %가 될 수 없습니다. Koste가 지적했듯이, 당신은 또한 실제 ID 대신 된 ClientID을 사용할 수 있습니다 : 당신이 jQuery를 사용할 수있는 경우

0

, 난 당신이 trigger 방법

편집를 사용하는 것이 좋습니다 것입니다.

관련 문제