javascript - 在 jQuery 中提交动态表单

标签 javascript jquery ajax

我正在用 Jquery 动态创建一个表单,这个表单需要使用 AJAX 提交。我可能正在做一些愚蠢的事情,所以非常感谢你的帮助。

我在单击链接时动态创建表单:

$('.edit_item').click(function(){
    $(this).closest('table').wrap("<form id='update_project' name='update_project' method='POST'>");
    var input_name = $(this).closest('tr').find("td:eq(0)");
    var input_submit = $(this).closest('tr').find("td:eq(1)");
    input_name.html("<input type='text' id='update_name' name='update[]' value='"+input_name.text()+"' />");
    input_submit.html("<input type='submit' value='update' id='update_submit' name='update_submit' />");
});

提交表单时:

$('#update_project').live("submit", function(e){      
    e.preventDefault();        
    $.post('project/update', $(this).serialize(), function(data){
        $('#complete_msg').html(data);
    });
    $('.update_submit').css('background', '#c9c9c9');
});

很遗憾,页面正在刷新(不应该),没有返回。

谢谢!

最佳答案

我会将提交更改为按钮:

 input_submit.html("<input type='button' value='update' id='update_submit' name='update_submit' />

并且事件 live 已折旧 ( http://api.jquery.com/live/ ):

$('#update_submit').click(function(e){      
    $.post('project/update', $('#update_project').serialize(), function(data){
        $('#complete_msg').html(data);
    });
    $('.update_submit').css('background', '#c9c9c9');
});

关于javascript - 在 jQuery 中提交动态表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17432453/

相关文章:

javascript 在事件上调用一个函数

javascript - 使用 jQuery 获取表格内的文本框值

javascript - 我的 .ts 代码中显示错误 > [ts] 类型 'name' 上不存在属性 'any[]'

javascript - FileReader.onprogress block 大小

javascript - 使用 javascript 和 jquery 加载外部字体

javascript - 从数据库中删除的记录如何更新 UI

javascript - 更新传单中的标记

ajax - 如何使用新 API 从 Instagram 获取公共(public)数据或标签?

ruby-on-rails - 使用 JS 响应 iframe 文件上传

php - 有人使用 dhtmlxcombo 插件向我解释了这段 jQuery 代码的一部分