문제
나는 간단한 형태가 있습니다. 하나의 필드와 제출 버튼이 있습니다. 제출 버튼을 숨 깁니다. 제출 버튼은 실제로 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")%>"> <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>
</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 선택기 여야합니다 ...
제휴하지 않습니다 StackOverflow