所以我将“编辑”表单转换为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 });
我推荐后者.