【问题标题】:How to stop form execution without using prevent default?如何在不使用阻止默认值的情况下停止表单执行?
【发布时间】:2016-05-27 08:27:05
【问题描述】:

我的表单是支付网关集成表单。 我需要先将详细信息保存到数据库,然后只需将详细信息发送到支付网关。 当我提交表单时,我需要通过一些 php 操作来检查它的有效性。完成php操作后,我需要实际提交表单。

你能推荐一个解决这个问题的好方法吗?

这是我的表格

<form method="post" action="paymentgatway url " id="myForm">

<input type="text" name="name1" requried>
<input type="text" name="cash" requried>
<input type="submit" name="submit1" id="submit1" value="submit">
</form>

和 PHP

var $myForm = $('#myForm');
    if ($myForm[0].checkValidity()) {
     <?php some php code ?>

     then submit the form 

    }   
    else{

          $myForm.find(':submit').click();

    } 

【问题讨论】:

  • php 代码在JavaScript 条件之后不会执行..
  • @RayonDabre 在使用php模板的情况下会。但我不知道OP是否使用相同的。
  • 1: PHP 在服务器上运行。 2:如果您打算稍后使用 JavaScript 提交,请不要​​调用任何东西name="submit"
  • 同意你的观点@Mr_Green,但不要认为 OP 正在处理模板,因为他首先验证表单..
  • 没有。 SO 这里有数千个例子。请做一些研究:stackoverflow.com/…

标签: javascript php jquery ajax forms


【解决方案1】:

您可以将输入类型提交更改为输入类型按钮。它不会提交您的表单。 单击该按钮后,您可以使用 ajax 检查您的 php。 成功响应后,您可以使用脚本 $('#myForm').submit(); 提交表单;

【讨论】:

  • 删除“name="submit"后
【解决方案2】:

没有办法使用自然提交事件。您可以使用带有触发提交的点击事件的按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2011-06-16
    • 1970-01-01
    相关资源
    最近更新 更多