문제

나는 간단한 형태가 있습니다. 하나의 필드와 제출 버튼이 있습니다. 제출 버튼을 숨 깁니다. 제출 버튼은 실제로 jQuery를 사용하여 요소를 가져오고 클릭을 실행하는 JavaScript 메소드를 호출하는 앵커 태그로 트리거됩니다. 이것은 잘 작동하며 양식 게시물 및 레코드는 DB에 성공적으로 작성됩니다.

이제 검증을 위해 XVal을 추가했습니다. 간단한 클라이언트 측 유효성 검사를 추가하려고합니다.

앵커 태그를 클릭하면 작동하지 않습니다. 그러나 제출 버튼을 숨기고 js 메소드를 호출하는 앵커 태그를 사용하는 대신 양식을 게시하려고하면 작동합니다. 기본적으로 JS 메소드를 사용하여 제출 버튼의 클릭을 트리거 할 때 왜 작동하지 않는지 알아 내려고합니다.

그란데 아이디어가 있습니까? 고맙습니다!

여기 코드 ...

<div id="manufacturerButtons" class="moduleRow">
            <%= Html.ActionImage(Url.Content("~/Content/Icons/bullet_go_back.png"), "Back To Admin", "Admin", "Admin")%>
            | <a class="actionImage" href="javascript: addManufacturer();">
                <img border="0" src="<%= Url.Content("~/Content/Icons/accept.png")%>">&nbsp;<span>Add
                    Manufacturer </span></a>
        </div>
        <div class="moduleContent">
            <div id="manufacturerContainer">
                <div class="moduleRow">
                    <h3>
                        New Manufacturer</h3>
                </div>
                <div class="moduleRow">
                    <% Html.BeginForm("NewManufacturer", "Admin", FormMethod.Post); %>
                    <table class="noBorder" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                            <td style="width: 125px">
                               <h6>Name:</h6>
                            </td>
                            <td>
                                <%= Html.TextBox("Name") %>
                            </td>
                        </tr>
                        <tr style="display: none;">
                            <td>
                                &nbsp;
                            </td>
                            <td>
                                <input type="submit" id="btnAdd" name="btnAdd" />
                            </td>
                        </tr>
                    </table>
                    <% Html.EndForm(); %>
                    <%= Html.ClientSideValidation<EquipmentManufacturer>() %>
                </div>

            </div>

자바 스크립트 :

function addManufacturer() {
    //$('form').submit(); // doesnt work when trying to validate either
    $('#btnAdd').click();
    return true;
}
도움이 되었습니까?

해결책

당신이해야 할 일은 양식에서 jQuery 검증을 트리거하는 것입니다. 노력하다:

$('form').validate();

성공적인 검증시 양식을 제출하려면 다음을 시도하십시오.

$('form').validate({ submitHandler: function(form) { form.submit(); } });

'양식'은 양식에 유효한 jQuery 선택기 여야합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top