我在Symfony中有一个包含表单的视图。在提交表单之前,我在jQuery中有一个确认框。提交表单后,在控制器函数中,我检查数据库中表单的值,然后在执行操作之前显示另一个确认框,取决于表单的值。
我的问题是如何在我的例子中显示第二个确认框
这是我的观点:
<div>
<form id="regexpForm" action="" method="post">
<input type="hidden" name="action" value="test" />
<ul>
<li class="clear mandatory">
<input type="submit" class="button" value="submit" />
</li>
</ul>
</form>
<div id="dialog" title="Confirmation"></div>
</div>
<script>
jQuery( document ).ready(function( $ ) {
var userConfirmed = false;
$("#regexpForm").validate({
submitHandler: function(form) {
$("#dialog").dialog({
open: function () {
var markup = 'Confirmation';
$(this).html(markup);
},
buttons: {
"Ok": function() {
form.submit();
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
}
});
});
</script>
我控制器中的功能:
public function testAction()
{
//Verification of $this->get('request')->get('action') in DB
if($this->get('request')->get('action'))
{
// Display a confirmation box and if ok execute action 1
}
else
{
// Display a confirmation box and if ok execute action 2
}
}
提前谢谢
答案 0 :(得分:0)
您需要对testAction
进行ajax调用。如果预期值正常,则返回一个标记,表示如此。然后你在你的JavaScript中抓住这个标志。如果标志为true
,则显示另一个确认框。
然后,当用户验证第二个确认框时,您将再次呼叫您想要的action
中的controller
,执行操作1或2。
关键是,这是一个两步过程。