介绍
如何在Yii2中利用Ajax对表单进行提交?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>前言强>
Yii2现在使用JS都必须要注册代码了。
要实现Ajax提交,有两种方法。一是直接在ActiveForm调用beforeSubmit参数,但是个人认为这样没有很好的把JS和HTML分开,所以我们这篇文章主要介绍第二种方法——外部写JS方法。
<强>表单部分强>
& lt; ? php form 美元;=,ActiveForm:开始([ & # 39;才能id # 39;,,,=祝辞,模型→美元formName (), & # 39;才能行动# 39;,=祝辞,[& # 39;/apitools/违约/指数# 39;】 ]);,?在
<强> Ajax 强>
& lt; php ? 时间=美元js & lt; & lt; & lt; JS//,get 从而,form id 以及set 从而事件 美元(& # 39;形式#{$模型→formName ()} & # 39;)。(& # 39; beforeSubmit& # 39;,,函数(e), { var 才能;\ form 美元=,美元(这);//才能,do whatever 在这里,,阅读,parameter \ $形式?,is a jQuery Element 用your 形式 })内(& # 39;提交# 39;,,函数(e) { e.preventDefault才能(); }); JS; $ this→registerJs (js);
如果你使用了JsBlock,你还可以这样写:
& lt; ? php JsBlock:开始(),?比; & lt;才能script> ,,,$ (function (), { ,,,,,jQuery(& # 39;形式# apitool& # 39;)。(& # 39; beforeSubmit& # 39;,, function (e), { ,,,,,,,var form 美元;=,美元(这); ,,,,,,,. ajax({美元 ,,,,,,,,,url:, form.attr美元(& # 39;行动# 39;), ,,,,,,,,,类型:,& # 39;文章# 39; ,,,,,,,,,数据:,form.serialize美元(), ,,,,,,,,,成功:,function (数据),{ ,,,,,,,,,,,//do 一些 ,,,,,,,,,} ,,,,,,,}); ,,,,,})。(& # 39;提交# 39;,,function (e), { ,,,,,,,e.preventDefault (); ,,,,,}); & lt;才能/script> & lt; ? php JsBlock:结束(),?在
关于如何在Yii2中利用Ajax对表单进行提交问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。