我想提交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>
由于
答案 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");
});
});