2017-11-19 12 views
1

양식에 드롭 다운과 texboxes 및 단추가 하나 있습니다. 모든 양식 요소에 대해 'autopostback = true'를 사용하고 있습니다. 양식을 작성하면 '보내기'버튼을 눌러야합니다. 그러나 texbox.autopostback 때문에 양식을 보내려면 2 번 눌러야합니다.Asp.net Textbox.Autopostback이 (가) 다른 문제를 일으킬 수 있습니다.

마지막으로 드롭 다운을 선택하면 문제가 없습니다. 그러나 텍스트 상자를 채우는 경우 양식을 보내려면 두 번 클릭해야합니다.

아무 해결책이 있습니까? textboxes.autopostback = 'true'를 사용해야하지만 몇 가지 해결책이 필요합니다.

감사합니다,

UPDATE :

모든 컨트롤은 updatepanel 요소에 유지됩니다.

+0

자동 응답 기능이 필요합니까? 그 우체국에서 뭐하고 있니? – Crowcoder

+0

컨트롤을 확인하는 데 유효성 검사를 사용하고 있습니다. (동적으로) @Crowcoder – Mert

+2

많은 검증은 자바 스크립트에서 클라이언트 측에서 수행 할 수 있으며, 양식을 제출할 때 서버 측에서 다시 수행 할 수 있습니다. 서버 측 유효성 검사 만 사용할 수있는 경우 여러 포스트 백을 사용하거나 ajax를 사용하여 유효성 검사를 비동기 적으로 수행해야합니다. – Crowcoder

답변

0
  • 는 "1"이 때 텍스트 상자 게시물 다시 그 값이 유효가, 다른 "0"
  • 클라이언트 측에
  • , pageLoad 이벤트에 자동을 클릭하여 숨겨진 필드 값을 설정하는 숨겨진 필드 값을 설정 숨겨진 필드 값이 "1"이면 버튼을 누릅니다. 따라서 사용자 버튼은 한 번만 클릭하고 텍스트 포스트 백이 반환되면 자동으로 양식을 제출합니다.

위의 두 가지 사항은 모두 코드 숨김에서 수행해야합니다.

이 논리의 결과로 단추를 한 번만 클릭하여 페이지를 제출할 수있는 일관된 워크 플로가 적용됩니다.

+0

은 좋은 것처럼 보이지만 주요 문제는 다음과 같습니다. 클릭하여 드롭 다운을 선택하고 제출 버튼 = 문제 없음을 선택합니다. 텍스트 박스를 채울 때 서버 측 검증을 위해 자동 포스트 백 (autopostback)을 클릭해야합니다. 그것 구름이 빈 배경이나 다른 textboxes metter하지 않습니다. 보내기 버튼보다 다시 작동합니다. 또는 텍스트 상자를 채운 후 버튼을 두 번 클릭하기 만하면됩니다. 우리는 텍스트 상자 나 그와 비슷한 것에 대해 "onfocusout"이벤트가 필요하다고 생각합니까? 그건 그렇고, 모든 컨트롤이 updatepanel @Sunil에있는 것을 잊어 버렸습니다. – Mert

+0

이 경우에는'pageLoad' 클라이언트 측 이벤트에 JavaScript를 작성할 수 있습니다. 텍스트 상자가 포스트 될 때, 필자는 대답에서 언급 한 다른 로직 외에 숨겨진 필드를 코드 숨김으로 설정할 수 있습니다. pageLoad 이벤트에서 JavaScript를 작성하여 숨겨진 필드 값을 가져옵니다. 이 값이'' "1"'이면 텍스트 박스는이 코드를 다시 게시하고'if (hdnValue == "1") {btnPost.Click(); btn.disabled = true;}'. 이것은 텍스트 박스가 다시 게시 될 때 사용자가 버튼을 한 번 클릭한다는 것을 의미합니다. – Sunil