확인 대화 상자를 표시하고 사용자가 '계속'을 누르면 양식이 제출됩니다. jquery 대화 상자를 사용하여 ajax 양식 제출
이
는 jQuery 코드입니다 :$(document).ready(function() {
$('#submit').click(function() {
$('#confirmation-dialog').dialog('open');
return false; // prevents the default behaviour
});
$('#confirmation-dialog').dialog({
autoOpen: false, width: 400, resizable: false, modal: true, //Dialog options
buttons: {
"Continue": function() {
$(this).dialog('close');
var form = $('transferForm', this);
$(form).submit();
return true;
},
"Cancel": function() {
$(this).dialog("close");
return false;
}
}
});
});
그리고 이것은 형태 :
@using (Ajax.BeginForm("Transfer", "Location", null, new AjaxOptions
{
UpdateTargetId = "update-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
//OnBegin = "ajaxValidate",
OnSuccess = "updateSuccess"
}, new { @id = "transferForm" }))
{
<div style="width:600px;">
<div class="editorLabel">
@Html.LabelFor(m => m.FromEmail)
</div>
<div class="editorText">
@Html.TextBoxFor(m => m.FromEmail)
</div>
<div class="clear"></div>
<div class="editorLabel">
@Html.LabelFor(m => m.ToEmail)
</div>
<div class="editorText">
@Html.TextBoxFor(m => m.ToEmail)
</div>
<div class="clear"></div>
<p>
<input type="submit" name="submit" value="Transfer" class="btn" id="submit"/>
</p>
</div>
}
<div id="update-message"></div>
<div id="commonMessage"></div>
<div id="confirmation-dialog">
<p>Are you sure you want to proceed with transfer ?
</p>
</div>
그러나 확인 후, 양식이 제출되지 않습니다. 무엇이 잘못 될 수 있습니까 ?? 어떤 아이디어?
var form = $('transferForm', this);
$(form).submit();
에 :
잘못된 jquery 선택기를 사용하고 있습니까? var form = $ ('transferForm', this); 하지 말아야 var form = $ ('# transferForm', this); – aravind