질문 : 컨트롤러에 취소 버튼을 게시하면 제출되는 이유는 무엇입니까?방해가되지 않는 아약스 양식 게시 취소 버튼이 표시되지 않도록 하시겠습니까?
아래 양식이 부분보기에서로드되었습니다. 제출은 정상적으로 작동합니다. 내가 고군분투 해 왔던 유일한 이유는 취소가 양식을 기각하지 않는 이유입니다. 클릭 이벤트 캡처와 같은 다양한 작업을 시도했습니다. 가능한 해결책으로 http://jimmylarkin.net/post/2012/05/16/Broken-Validation-on-Cancel-Buttons-With-Unobtrusive-Validation-Ajax.aspx을 보았습니다. 그러나 이것이 이것이 의도 한 문제인지 확신 할 수 없습니다. 의심의 여지가 내 부분에 대한 몇 가지 무지. 그럼 내가 뭘 놓칠까요?
//click event loading the form.
<script>
$(document).ready(function() {
$('#editbtn').click(function() {
var url = "/Quiz/[email protected]";
$.get(url, function (data) {
$('#formdiv').html(data);
$("#formdiv").show();
});
});
</script>
//form inside partial view.
@using (Ajax.BeginForm("EditQuiz", "Quiz", FormMethod.Post,
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
UpdateTargetId = "formdiv"
}))
{
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
<div>
<fieldset>
.
.
<input type="submit" class = "btn btn-primary" value="Save" />
<button class = "cancel" >Cancel </button>
</fieldset>
</div>
}
글쎄, 그건 작동하지 않습니다. 물론 ActionLink를 사용하면 원하지 않는 실제로 리디렉션되므로 수행해야합니다. Cancel 다음으로 $ ("# cancelbutton"). ("click", function (event) { $ ("# formdiv ") .hide(); }); 다소 해킹 된 것 같습니다. 정말로 그것이 어떻게 이루어져야 하는가? – Joel
유형을 지정하지 않으면 단추가 기본적으로 type = "submit"이 될 수 있습니다. 버튼에 type = "button"을 지정해보십시오. – ElliotSchmelliot
잘 쓰레기. 그게 내가 찾고있는 것보다 더 많은 것 같다. 나는 버튼에 type 속성을 두지 않았지만 다시 체크 할 것입니다. 나는 "내 부분에는 의심의 여지가 없다는 것은 의심의 여지가 없다."라고 말했습니다. :) Thanks Elliot – Joel