【问题标题】:submit form without submitting the page [duplicate]提交表单而不提交页面[重复]
【发布时间】:2014-06-11 10:21:26
【问题描述】:

这个问题不是重复的。你能让它工作并证明它是重复的吗???


如何在不提交页面的情况下提交以下表单。

以下表单中的 Action 具有 RESTful POST 方法。

例如使用该 API:

http://s22.postimg.org/79wp8rbv5/Capture.png


所以,我有这个静态页面。我需要在没有提交页面的情况下提交表单。有什么想法吗?

<html>
<head>
<!-- jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license -->

<script  src="jquery.js"></script>
<script>

$(document).onload(function() {

    $("#submit-form-button").onclick(function() { submitForm(); });

});

function submitForm() {
    $.ajax({
      type: "POST",
      url: "https://apex.oracle.com/pls/apex/somefeto/hr/emp/",
      data: { ENAME: $_POST['ENAME']},
      success: function() {
         alert("FORM SUBMITTED!");
      },
      dataType: 'html'
    });
 };

</script>
</head>
<body>
<form action= "https://apex.oracle.com/pls/apex/somefeto/hr/emp/" method="POST">
   Employee: <input type="text" name="ENAME">
    <a href="#" id="submit-form-button">SUBMIT</a> 
</form>

</body>
</html>

两个小时后,我设法做到了:

<html>
<head>
<!-- jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license -->

<script  src="jquery.js"></script>
<script>
 $(document).ready(function() {
    $("#submit-form-button").click(function() { submitForm(); });
});
function submitForm() {
var x = $("#ENAME").val();
    $.ajax({
      type: "POST",
      url: "https://apex.oracle.com/pls/apex/somefeto/hr/emp/",
      data: {  ENAME:  x },
      success: function() {
         alert("FORM SUBMITTED!");
      },
      dataType: 'html'
    });
};
</script>
</head>
<body>
    <form action= "https://apex.oracle.com/pls/apex/somefeto/hr/emp/" method="POST">
       Employee: <input id="ENAME" type="text" name="ENAME">
        <a href="#" id="submit-form-button">SUBMIT</a> 
    </form>

</body>    
</html>

【问题讨论】:

  • 在表单上设置一个 target=name 的隐藏 iframe

标签: javascript jquery


【解决方案1】:

您可以使用 AJAX。

您需要一个可点击的元素。

<a href="#" id="submit-form-button">SUBMIT</a>   

现在将javascript函数绑定到按钮

$(document).onload(function() {


    $("#submit-form-button").onclick(function() { submitForm(); });


});

把ajax放到一个函数中

function submitForm() {

    $.ajax({

      type: "POST",
      url: "post_to.php",
      data: { name: $_POST['name'], addy: $_POST['addy'], email: $_POST['email'] },
      success: function() {

         alert("FORM SUBMITTED!");

      },
      dataType: 'html'

    });

 }

【讨论】:

  • @MrCode 感谢您的更正。
  • 没有用。谢谢。
  • @user1116119 虽然我们真的需要的不仅仅是“没有工作”,但我添加了所有你需要的代码来完成这个。您是否检查过您的 javascript 控制台是否有错误?如果有的话,请发布它们。
  • 谢谢没有用。我将编辑我的问题以显示我使用的代码。
  • 对不起,我以为你测试它。在控制台中有这个错误。 Uncaught TypeError: undefined is not a function 。我在 JS 方面很弱,因为我是 Oracle 开发人员而不是 Web。
【解决方案2】:

试试这个,在&lt;head&gt;标签之间添加这个脚本

    <script type="text/javascript">     
        window.onload=function(){
             document.forms["0"].submit();
        };
    </script>

【讨论】:

  • 没用。谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-06-23
  • 2021-11-12
  • 1970-01-01
相关资源
最近更新 更多