所以我将“编辑”表单转换为ajaxForm,其中包含以下内容:
$('#reviewForm').ajaxForm({
success: function (response) {
$('#bookReview').html(response);
}
});
这将返回相同的表单,如有必要,可以再次编辑.然而,第二个表单提交不再附加ajaxForm(),这是有道理的.
我如何确保此表单始终是ajaxForm,无论发生了多少次提交,类似于live()函数的工作方式?
解决方法
您可以在响应中包含ajaxForm调用,如:
<!-- the html for the form -->
<script type="text/javascript">
$('#reviewForm').ajaxForm();
</script>
或者您可以将其作为成功函数的一部分:
function ajaxify(response,status,xhr,form){
var review = $('#bookReview').html(response);
$('form#reviewForm',review).ajaxForm({
'success': ajaxify
});
}
$('#reviewForm').ajaxForm({
'success': ajaxify
});
我推荐后者.