我想提交一个使用AJAX动态创建的表单(通过之前的表单提交),但我无法使其成功运行。生成的表单具有显示的格式,并且正在成功创建
<div id="1" class="container-element">
<h3>HEADER</h3>
<form id="formCELL" name="form_1" action="refresh.php" method="post">
<div class="panel-body">
<div class="col-xs-10 com">CONTENT GOES HERE</div>
<div class="col-xs-2 btn"><button class="btn btn-primary" id="refresh" type="submit">Refresh</button> </div>
</div>
</form>
</div>
用于生成表单,然后刷新内容的函数就在这里。现在,单击刷新按钮时,不会输入$('#formCELL').submit(function(event)
功能。
$(document).ready(function() {
$('#formMAIN').submit(function(event) {
//formCELL is generated here through AJAX call.....
});
$('#formCELL').submit(function(event) {
// process the form
alert("about to submit");
//AJAX call to go here
event.preventDefault();
});
});
我猜测问题与我在$(document).ready
内设置提交功能有关,我想要刷新的表单目前还没有创建,但是我&# 39;我不确定如何从这里继续。
答案 0 :(得分:1)
尝试:
$(document).on('submit', '#formCELL', function(event) { ... });
我为你创建了一个jsFiddle: JsFiddle
我根据你的需要修改了jsFiddle。现在,第一个表单生成由seconf提交函数
处理的第二个表单答案 1 :(得分:0)
你是对的。在创建表单后,将第二个提交处理程序移动到第一个,如下所示:
$(document).ready(function() {
$('#formMAIN').submit(function(event) {
$.ajax(....).done(function(result) {
//formCELL is generated here ...
$('#formCELL').submit(function(event) {
// process the form
alert("about to submit");
//AJAX call to go here
event.preventDefault();
});
}
});
});
答案 2 :(得分:0)
$(document).ready(function(){
$('#formCELL').submit();
$('#formCELL').on('submit', function(event) {
// process the form
alert("about to submit");
//AJAX call to go here
event.preventDefault();
});
});
答案 3 :(得分:0)
试试这个
$(document).delegate('#formCELL','submit',function(event) {
// process the form
alert("about to submit");
//AJAX call to go here
event.preventDefault();
});