【发布时间】:2010-03-28 07:19:01
【问题描述】:
我期待以下情况很常见,但在网上找不到太多帮助。我有一个通过 Ajax 加载的表单(例如,创建实体表单)。它是通过按钮单击(加载)事件加载的
$("#bt-create").click(function(){
$ ('#pid').load('/controller/vehicleModel/create3');
return false;
});
响应(表单)被写入 pid 元素。表单的名称和id为ajax-form,提交事件附加到一个ajax post请求
$(function() {
$("#ajax-form").submit(function(){
// do something...
var url = "/app/controller/save"
$.post(url, $(this).serialize(), function(data) {
alert( data ) ; /// alert data from server
});
我可以单独进行上述 ajax 操作。如果从静态 html 文件调用,即 ajax post 操作成功。但是,如果我链接请求(在完成第一个请求之后),以便它从第一个请求生成的输出表单中调用,则不会发生任何事情。我可以看到 post 方法是通过 firebug 调用的。 有没有更好的方法来处理上述流量?
我注意到了一件更有趣的事情。如您所见,我使用 grails 作为我的平台。如果我将 javascripts 保留在 main.gsp(主布局)中,提交事件将不会注册,因为在 firebug 中没有命中断点。但是,如果我在模板文件(呈现上面的表单)中定义了 javascript,则会触发断点,但正如我所解释的,控制器不会调用该操作。我将 javascript 更改为 head 部分,但结果相同。
非常感谢任何帮助。 谢谢, 巴布。
【问题讨论】: