我的表单包含ID formularregister
和formularadresa
以及一个提交ID为comanda
的按钮。
我想用一个按钮(<a type="submit" id="comanda" class="btn btn-default" onclick="submitForms()">Finalizare comanda</a>
)提交两个表单,然后返回控制器操作(zend framework 2)来验证post中的值。
我的JS功能是:
function submitForms() {
$(document).ready(function() {
$("#comanda").click(function() {
$.post($("#formularregister").attr("afisarecos.phtml"), $("#formularregister").serialize() + $("#formularadresa").serialize(), function() {
});
});
});
}
答案 0 :(得分:0)
您需要向控制器操作发出AJAX请求。您可以在Web上找到很多examples,但在ZF2中使用Ajax需要了解的最重要的部分是:
在 /module/Application/config/module.config.php
中启用ViewJsonStrategy
'view_manager' => array(
// ....
'strategies' => array(
'ViewJsonStrategy',
),
),
视图中的Ajax请求
$.ajax({
url : 'url/to/yourController/action',
type: 'POST',
dataType: 'json',
data : fromData,
async: true,
success:function(data, textStatus, jqXHR)
{
//success function
}
error : function(xhr, textStatus, errorThrown)
{
// error function
}
});
在控制器操作
中if ($request->isXmlHttpRequest()) { //ajax call
// your logic here
$jsonModel = new JsonModel(
//...
);
return $jsonModel;
}
有关详细信息,请参阅此simple example (Code + Demo)。