0

ここfrmvalidatorにあるJavaScriptをコードに使用しています。

同じ ID を持つ 2 つの入力フィールドを検証しているため (配列を使用しています)、カスタム検証を作成する必要がありました。検証は機能していますが、ボタンをクリックすると問題が発生しますが、検証は引き続き有効であり、すべてのフィールドに入力cancelしない限り閉じることができません。dialog box

[キャンセル] をクリックしても、このエラー メッセージが表示されます。

これが私のコードです:

<form name="UpdateIndustry" action="addIndustry.jsp" method="get">
  <table align="center">                
    <c:forEach var="row" items="${paramValues.industries}">
      <jsp:setProperty property="tableId" name="bean" value="${row}"/>
      <c:set var="ctr" value="${ctr + 1}"/>
      <input type="hidden" name="hello" value="${row}"/>
      <tr><th>INDUSTRY NAME</th>
          <td><div id='UpdateIndustry_industryName_errorloc' style="color:red;"></div>
              <input type="text" name="industryName" size=40 value="${bean.thisIndustry.INDUSTRYNAME}"/></td></tr>
    </c:forEach>
    <input type="hidden" name="finalCount" value="${ctr}"/>
    <tr><td style="text-align:center" colspan="3">
        <input type=submit name="submit" value="Update Industry" onclick="btnUpdate_click()"/>
        <input type=submit name="submit" value="Cancel" onclick="btnCancel_click()"/></td></tr>
  </table>  
</form>

そしてscript

<script language="JavaScript">
    var frmvalidator  = new Validator("UpdateIndustry");
    frmvalidator.EnableOnPageErrorDisplay();
    frmvalidator.EnableMsgsTogether();
    function btnUpdate_click(){
        frmvalidator.setAddnlValidationFunction(FinalValidator); }                  
    function btnCancel_click(){
        frmvalidator.clearAllValidations();
        window.close(); }   
</script>

FinalValidatorこれが検証が行われる関数です。

function FinalValidator()
{
   var myForm = document.forms["UpdateIndustry"];
   if (myForm.industryName.length > 0) {
      for(var i=0; i <= myForm.industryName.length; i++)
        {
          if(myForm.industryName[i].value.length == 0)
            {
              sfm_show_error_msg('Please enter industry name.', myForm.industryName[i]);
              return false;
            }
        }
   }
   return true;
}

cancelボタンを機能させるにはどうすればよいですか?助けてくれてありがとう!:)

4

1 に答える 1

0
$(document).ready(function () {
    $("#YourButtonID").click(function () {
        error = false;
        $(".span1").remove();
        if ($("#YourTextBoxID").val() == "") {
            $("#YourTextBoxID").after("<span class='span1'>Write Your Error</span>");
            error = true;
        }
    });
});

これを試して。

于 2014-04-09T16:37:05.767 に答える