当我使用 struts 2 jquery 提交按钮 onClick 事件时,Javascript 验证不起作用

标签 javascript struts2 struts2-jquery

我正在使用 struts2-jquery-plugin-3.2.1 。我正在使用它的提交按钮,我在 onclick 事件上调用 javascript 验证,但即使验证未完成,我的表单仍在提交。以下是代码:

<sj:submit
value="Add"
targets="idRightMainDiv"
button="true"
buttonIcon="ui-icon-gear"
formIds="addExerDetailsForm"
onclick="return SetsRepsFormValidate()"   //calling javascript validation 
tabindex="7"/>

function SetsRepsFormValidate() {
    var summary = "";
    summary += isSets();
    summary += isReps();

    if (summary != "") {
    dhtmlx.alert(summary);
    return false;
    }

    else {
    return true;
    }
}

最佳答案

我在此链接中找到了解决方案:

将此代码放在头部-

  <sj:head jqueryui="true"/>
   <script type="text/javascript">
     $.subscribe('before', function(event,data) {
     var fData = event.originalEvent.formData;
     alert('About to submit: \n\n' + fData[0].value + ' to target '+event.originalEvent.options.target+' with timeout '+event.originalEvent.options.timeout );
    var form = event.originalEvent.form[0];
     if (form.echo.value.length < 2) {
      alert('Please enter a value with min 2 characters');
      // Cancel Submit comes with 1.8.0
      event.originalEvent.options.submit = false;
      }
   });
  $.subscribe('complete', function(event,data) {
     alert('status: ' + event.originalEvent.status + '\n\nresponseText: \n' + event.originalEvent.request.responseText + 
   '\n\nThe output div should have already been updated with the responseText.');
  });
  $.subscribe('errorState', function(event,data) {
    alert('status: ' + event.originalEvent.status + '\n\nrequest status: ' +event.originalEvent.request.status);
  });
 </script>

并编写了struts 2 jquery提交按钮的事件-

            <div class="type-button">
                     <sj:submit  targets="result" 
                                    value="AJAX Submit" 
                                    timeout="2500" 
                                    indicator="indicator" 
                                    onBeforeTopics="before" 
                                    onCompleteTopics="complete" 
                                    onErrorTopics="errorState"  
                                    effect="highlight" 
                                    effectOptions="{ color : '#222222' }" 
                                    effectDuration="3000"/>
             </div>`

关于当我使用 struts 2 jquery 提交按钮 onClick 事件时,Javascript 验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286959/

相关文章:

javascript - 如何配置 mailto 到 rtl?

java - 如何用 JasperReportsContext 替换 JRParameter.REPORT_FILE_RESOLVER 的使用?

java - 在 Struts 2 中使用自动完成后,没有为操作定义结果

java - 在 Struts2 jQuery Grid 中发送更多搜索参数

javascript - 为什么我的某些 Angular 在更改时不正确?

javascript - 在滚动条上更改背景线性分级度

javascript - 如何构建多阶段 Web 表单?

java - 在 Struts 2 中重用自定义表达式 validator

java - 如何在Java类中访问HTTP请求

java - Struts 2 jQuery Datepicker 格式问题