jef*_*eff 3 jquery form-submit symfony-forms symfony symfony-2.3
有一个2.3的新功能有多个提交按钮,
但我发送我的表格与ajax
$.post("{{ path('order_ad_banner') }}",
$('#adOrderForm').serialize() + "&" + $.param({url: "{{ url }}"}),
function (data) {
$('#formWindow').html(data);
}
);
Run Code Online (Sandbox Code Playgroud)
这是我的按钮:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
....
->add('step2submit', 'submit', array('validation_groups' => array("order step 2")))
->add('step3submit', 'submit')
->add('step4submit', 'submit')
;
}
Run Code Online (Sandbox Code Playgroud)
如何使用带有ajax的'step2submit'按钮模拟提交?
编辑:找到解决方案 - >在发布之前向表单添加隐藏字段
var input = $("<input>").attr("type", "hidden").attr("name", 'adOrder[step2submit]').val("");
$('#adOrderForm').append(input);
$.post("{{ path('order_ad_banner') }}",
$('#adOrderForm').serialize() + "&" + $.param({url: "{{ url }}"}),
function (data) {
$('#formWindow').html(data);
}
);
Run Code Online (Sandbox Code Playgroud)
小智 5
操纵dom可能不是最好的解决方案.当浏览器将单击的按钮添加为没有值的另一个参数时,您可以执行相同操作并将其手动添加到序列化数据,然后通过ajax发送.使用此代码,您只需要在按钮上添加"submit-button"类,并且在命名时更加灵活(因此,如果您在php代码中重命名按钮,它仍然可以工作).
$('.submit-button').on('click', function(){
var data = $(this).parents('form').first().serializeArray();
data.push( {'name':$(this).attr('name')});
$.ajax({
type: 'POST',
url: $(this).parents('form').first().attr('action'),
dataType: 'html',
data : data,
success: function(answer) {
//do something with the answer
},
error: function() {
},
complete: function() {
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |