我正在寻找最优雅的方式来ajaxify我的表单(使用jQuery)。
你如何做到这一点?
最佳答案
这是我的解决方案(我认为这是一个Progressive enhancement解决方案),仅使用jQuery而不使用任何插件:
var form = $('form#YourFormId');
$(':submit', form).click(function (event) {
event.preventDefault();
$.post(form.attr('action'), form.serialize(),
function(data, status) {
if(status == 'success') {
// your code here
}
}
);
});
更新:
如果您的 POST 响应是“带有表单的 HTML”,请尝试以下操作:
function ajaxifyForm(form) {
$(':submit', form).click(function (event) {
event.preventDefault();
$.post(form.attr('action'), form.serialize(),
function(data, status) {
if(status == 'success') {
var newForm = $(data);
ajaxifyForm(newForm);
form.after(newForm).remove();
}
}
);
});
}
关于jquery - MS MVC 形式的 AJAX 化技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930074/