提交ajax返回的表单

时间:2016-07-14 09:36:09

标签: javascript jquery

我想提交ajax返回的表单,但它没有提交表单。

这是我试过的代码

此文件名为3.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
    $(function(){
      $("#submitform").on("click", function(){
       $.post("4.php").done(function(data){
         //$($.parseHTML(data)).find("#paypalsubmit").submit();
         $($.parseHTML(data)).find("input[type='submit']").submit();
       });
      });

    });
    </script>
    <div id="submitform">click</div>

4.php文件

    <form id="paypalsubmit" method="post" action="stackoverflow.com">
    <input type="text" value="hello stack" name="inputt">
    <input type="submit" name="submit" value="submit">
    </form>

更新使用了点击功能,并且有效

尝试了另一种方法仍然不起作用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

    <script>
    $(function(){
      $("#submitform").on("click", function(){
        alert("hello");
       $.post("4.php").done(function(data){
        $("#formplace").html(data).find("#paypalsubmit").submit();
        setTimeout(function(){
            alert("submitting the form");
            //$("#formplace").find("#paypalsubmit").submit();},
            //$("#paypalsubmit").submit();},
            $("#formplace").find("input[type='submit']").click();},
            2000);


       });

      });

    });
    </script>
    <div id="submitform">click</div>

    <div id="formplace"> </div>

由于

4 个答案:

答案 0 :(得分:2)

而是使用虚拟div来保存表单,然后 提交表单

$.post("4.php").done(function(data){
   var $div = $('<div>',{ html : data });
   $div.find("form")[0].submit();
});

不确定是否可以按照我的建议提交表单。但另一种方法是将表单放在页面中,然后提交它:

$.post("4.php").done(function(data){
   $('body').append(data);
   $("#paypalsubmit")[0].submit();
});

答案 1 :(得分:1)

替换下面的行

$($.parseHTML(data)).find("input[type='submit']").submit();

$("#paypalsubmit").submit();

答案 2 :(得分:1)

您应该更改

的点击次数
$("#submitform").on("click", "#submitform", function() {

这将允许jQuery查看新创建的提交按钮。

答案 3 :(得分:1)

我认为,如果没有采取行动(“点击”),你就无法提交新的附加内容!对我来说,使用的触发器正在工作。.Find type submit而不是form id

 $(function(){
      $("#submitform").on("click", function(){
        alert("hello");
       $.post("4.php").done(function(data){
        $("#formplace").html(data).find(":submit").trigger("click");
      });    
    });