PRE 편집 : 버튼의 장애가 아니라 저장 후 다른 작업을하는 것으로 나타났습니다. 페이지를 디버깅하고 저장된 양식을 변경 한 후 페이지가 (document).ready
부분의 자바 스크립트 기능을 잃어버린 것을 알았습니다. 해결책으로 해결책을 추가했습니다.JavaScript 비활성화 된 버튼의 속성 설정
두 개의 버튼이 저장되고 승인되는 입력 페이지가 있습니다. 메커니즘은 다음과 같습니다. 양식을 채우고 저장 한 다음 승인 할 수 있습니다. 페이지를 새로 고침하거나 저장된 페이지 목록에서 저장된 페이지에 접근 할 수도 있습니다.
양식을 저장하지 않으면 승인 버튼이 비활성화됩니다. 저장 후 코드에서 활성화 할 수 있습니다. 승인 버튼에는 자바 스크립트에서 확인 텍스트를 사용하는 확인 버튼 익스텐더가 있습니다. 나는 (document).ready
에로드하고 코드는 다음과 같습니다 GetConfirmTextForApproval()
어떤 계산을하고 확인 텍스트를 반환
$(document).ready(function() {
$("#ASPxSplitter1_ContentPlaceHolder1_uctActivityEntry1_tbActivity_tbHistory_btnApproveActivity_btnApprove").click(function() {
$("#ASPxSplitter1_ContentPlaceHolder1_uctActivityEntry1_tbActivity_tbHistory_btnApproveActivity_lblMessage").text(GetConfirmTextForApprove());
});
});
.
이제 폼을 열 때 버튼이 비활성화되어 있기 때문에 위의 코드는 첫 번째 페이지로드시 렌더링되지 않습니다. 이것은 폼을 채우고 저장하기 시작한 후 승인 할 때 함수를 실행하지 않기 때문에 확인 텍스트를 얻지 못하는 문제를 일으 킵니다. 그러나 페이지를 새로 고친 후 또는 다른 페이지에서 저장된 양식의 페이지로 이동 한 후에 적절한 확인 텍스트가 표시됩니다.
그럼 어떻게이 문제를 해결할 수 있습니까? 첫 페이지로드시 버튼이 비활성화되어 있어도 적절한 확인 텍스트를 얻으려면 어떻게해야합니까?
참고 : 저장 후 페이지의 URL이 변경됩니다. 쿼리 문자열이 추가됩니다. 그로 인해 문제가 발생할 수도 있습니다.
... ** 와우 ** 그 ID 이름은 엄청납니다. 클래스 사용에 대해 생각해 본 적이 있습니까? – Doorknob
위의 코드는 첫 번째 페이지로드시 렌더링되지 않습니다. 따라서 렌더링되는 코드를 만드십시오. – lavrik
@Doorknob 많은 사용자 컨트롤을 사용하기 때문입니다. 단추와 페이지는 사용자 정의 컨트롤입니다. –