struts2-jquery 플러그인에서 sj : submit 태그를 사용하여 제출할 양식이 있습니다. 제출 단추는 validateFunction 및 onAfterValidationTopic으로 설정됩니다. 사용자가 sj : submit을 통해이 양식을 저장할 때 jquery BlockUI를 사용하여 양식을 차단하려고합니다. 문제는 유효성 검사가 완료 될 때까지 BlockUI가 켜지지 않는다는 것입니다. 이 양식은 매우 광범위하고 유효성 검사에 1 초가 걸리므로이 시간 간격은 사용자에게 매우 현저합니다.BlockUI가 양식 유효성 검사 전에 작동하지 않습니다.
버튼의 onClick 매개 변수에 추가 된 javascript 메서드를 통해 BlockUI가 호출됩니다. 나는 fadeIn을 0으로 설정하여 동 기적으로 실행해야한다.
breakpointing을 통해 BlockUI가 struts2-jquery 유효성 검사 메서드보다 먼저 호출되지만 양식 유효성 검사가 완료되고 유효성 검사 경고가 표시 될 때까지 블록이 나타나지 않는 것으로 확인되었습니다.
내 작업 순서는 onClick 매개 변수를 통해 UI를 차단하고 struts2-jquery 플러그인에서 유효성 검사를 위해 양식을 제출 한 다음 유효성 검사가 실패한 경우 UI의 차단을 해제하는 내 AfterValidationTopic을 시작하는 것입니다. UI가 차단되는 것을 제외하고는 모든 단계가 올바른 순서로 진행됩니다. 나는 이것이 왜 그런지에 관해서는 손해보고있다. jquery.struts2.js 파일의 $ .blockUI 호출을 $ .elem.click 함수에 같은 결과로 추가하려고 시도했습니다. BlockUI가 호출되고 있지만 보이지 않습니다.
<sj:submit
button="true"
type="button"
id="save_button"
cssClass="btn bg-cobalt-300"
buttonIcon="icon-floppy-disk"
label="Save"
validate="true"
formIds="my_form"
onAfterValidationTopics="postValidation"
validateFunction="bootstrapValidation"
value="%{getText('global.save')}"
onClick="loadingMaskSave();"
/>
및 JS 코드 :
function loadingMaskSave() {
$.blockUI({
fadeIn: 0
});
}
$.subscribe('postValidation', function (event,data) {
if(event.originalEvent.formvalidate == false) {
$.unblockUI();
}
});
'blockUI'를 호출하면 어떻게됩니까? 예 : 준비 블록에. –
준비가 되셨습니까? –
[** The ** ready] (https://api.jquery.com/ready/). –