如何在aui脚本的提交事件中暂停表单提交

时间:2016-03-17 05:19:55

标签: liferay-aui

这是我的aui脚本。转到成功后,状态变量设置为0。但在此之后的条件 if(status == 0)未在块if(starttime.length > 0 || endtime.length > 0)内执行。

  A.one('#<portlet:namespace/>addBooking').on('submit', function(event) {
    var roomIndex =A.one("#<portlet:namespace/>roomIndex").get('value');
    var bookingdate =A.one("#<portlet:namespace/>bookingdate").get('value');
    var starttime =A.one("#<portlet:names`enter code here`pace/>starttime").get('value');
    var endtime =A.one("#<portlet:namespace/>endtime").get('value');
    var status=1;
    if(starttime.length > 0 || endtime.length > 0) {
        A.io.request('${bookingValidationURL}',{
             dataType: 'json',
             method: 'POST',
             data: { <portlet:namespace/>roomIndex: roomIndex,
                 <portlet:namespace/>starttime: starttime,
                 <portlet:namespace/>endtime: endtime,
                      },
             on: {

             success: function() {

                  var data = this.get('responseData');

                  if(data==null){
                      status="0";
                  }

                }

             }

        });



 if(status==0){   // this condition is not checked when status is 0 in success part   
      event.halt();
    }   
}

});

1 个答案:

答案 0 :(得分:0)

Ajax是异步的..因此,对于执行同步任务,我们必须在ajax函数中设置sync = true ...所以对于上面的代码

if pageheader =1
then true
else false