我想在一个 View 中创建 2 个表单。只有一种形式是可见的。 另一个是隐藏的。
因此,我希望两个表单都只有 1 个提交按钮。
代码:
<?php echo $this->Form->create('Payment', array('type' => 'post', 'url' => 'https://uat.pbbank.com/payment/dpayment.jsp'));
echo $this->Form->hidden('merchant_id', array('value'=>'3242', 'name'=>'merchant_id', 'id'=>'merchant_id'));
echo $this->Form->end(__('Submit')); ?>
<?php echo $this->Form->create('Payment');
echo $this->Form->hidden('merchant_id', array('value'=>'3242', 'name'=>'merchant_id', 'id'=>'merchant_id'));
echo $this->Form->end(__('Submit')); ?>
最佳答案
实现此目的的最佳方法是使用 Ajax 或 JS/Jquery。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#submit").click(function () {
$.post($("#addToDB").attr("action"), $("#addToDB").serialize(),
function () {
alert('Add to Database submitted');
});
$.post($("#paymentGateway").attr("action"), $("#addToDB").serialize(),
function () {
alert('Payment Gateway submitted');
});
});
});
</script>
形式:
<form id="addToDB" action="addtodatabase.php" method="post">
<input type="button" id="submit" value="Submit" />
</form>
<!-- Hidden form for payment gateway -->
<form id="paymentGateway" action="paymentgateway.php" method="post">
<!-- Payment gateway input fields -->
</form>
单击带有 id="submit"
的按钮调用函数以通过表单 ID 发布两个表单。
关于javascript - Cakephp 多个表单 1 提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23078573/