[英]I have successfully loaded a form into a <div> element using jQuery $.Ajax. I need to know how to submit that form using jQuery Ajax
我已经使用 jQuery 的.on()进行事件委托,并为动态加载的表单设置了一个“提交”事件处理程序,例如
<script>
$(document).on('submit','#my_form_id',function(e){
e.preventDefault();
e.stopPropagation();
$.ajax({
url:$this.href,
type:"POST",
data: $('#my_form_id').serialize(),
dataType: "html"
}).done(function(update_result){
$('#id_of_div_that_will_hold_the result').html(update_result);
});
return false;
});
</script>
但它不起作用,因为表单是直接提交而不是异步提交的。
另外,上面的脚本应该放在主页面的什么地方,或者放在包含动态加载表单的 HTML 代码的页面中? 我问这个,因为脚本似乎没有被调用
任何一般的简短示例都会有所帮助并受到高度赞赏。 我无法在这里提供代码,因为它在使用 codeigniter 的 MVC 架构中太长了。
您可以执行以下操作来发布表单:
$("#my_form_id").submit(function (e) {
e.preventDefault();
$.post($(this).attr("action"), $(this).serialize(), function (data) {
// put any code handling return values here
});
});
$.submit 的工作方式与$.on('submit')
相同,但更易于阅读和输入。 $(this).serialize()
函数将所有表单数据转换成字符串提交给服务器。
您应该停止触发默认事件处理程序(提交)。
$(document).on('submit', '#my_form_id', function(e){
e.preventDefault();
ajax form submision code goes here....
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.