【问题标题】:Form submit without going to the target page表单提交而不去目标页面
【发布时间】:2014-07-13 12:44:52
【问题描述】:

我对表单提交有疑问。我在 processFabrication.php 上有这个简单的表单来提交所有变量,然后在另一个名为 processExceededQty.php

的页面中将其处理到数据库

Co,在 processFabrication.php 中,我有

 echo "<form action='processExceededQty.php' method='post'>";

当我点击submit 时,它会转到processExceededQty.php。

我的目标是,

  1. 当用户点击提交时,弹出确认是/否
  2. 用户在确认窗口中单击“是”后,留在 processFabrication.php 但 processExceededQty.php 中的方法仍会执行。
  3. 当用户在弹出窗口中单击“否”时,返回并且不执行表单操作

任何帮助将不胜感激。

【问题讨论】:

标签: javascript php oracle


【解决方案1】:

在您的javascript 中有这样的内容:

function doSubmit(){

if (confirm('Are you sure you want to submit?')) {
    // yes
    return true;
} else {
    // Do nothing!
    return false
}
}

将onsubmit 添加到html 中的表单:

<form action='processExceededQty.php' method='post' onsubmit='doSumit()'>

【讨论】:

  • 它就像魅力一样,但我如何保持重定向到流程页面?
  • @Chriskonz..您可以将表单提交到表单页面本身,而无需将值传递到另一个页面。否则,您可以将值传递给另一个页面,然后再重定向回表单页面
  • 如果你想汇总值而不离开你需要xmlhttp请求的页面,这个例子将允许提交通过返回true并通过返回false停止
  • 您必须使用 AJAX 提交数据而不返回操作页面。
  • w3schools.com/xml/xml_http.asp会讲解如何在不离开页面的情况下提交
【解决方案2】:

除了@N0M3 答案。 在您的&lt;head&gt; 中包含以下脚本

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

你的功能略有变化

function doSubmit(){

if (confirm('Are you sure you want to submit?')) {
    // yes
     $(this).submit(function(e){
        e.preventDefault();
     });

    jQuery.ajax({
        url : 'processExceededQty.php',
        data : {'username':username}, // where first 'username' is your field name, and second one is your field's value
        method: 'post',
        success: function(data) {
             // data is variable which has return data from `processExceededQty.php` 
             // do whatever you want with data
        }
    });    


} else {
    // Do nothing!
    return false;
}
}

【讨论】:

  • 不需要加return false否则页面会提交吗?
  • @N0M3 thx 指出这一点,更新了我的答案。这里return false 不起作用
【解决方案3】:

在表单的“onsubmit”上使用函数,如下所示,

<form action='processExceededQty.php' method='post' onsubmit='reutrn show_pop_up()'>

你可以在脚本上写以下内容

<script>
   function show_pop_up()
   {
      // show pop up
      if(op_up_return =="Yes")
          return true;
      else
          return false;
   }
</script>

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多