首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在提交内提交

在提交内提交
EN

Stack Overflow用户
提问于 2009-08-18 22:38:39
回答 2查看 164关注 0票数 0

我承认它的标题不是很清楚。但我不知道如何命名我正在尝试做的事情。

我有index.htm。此页面使用以下代码从index.asp?Process=ViewRequests中提取数据。

代码语言:javascript
复制
    $(function Requests() {
        $.ajax({
            type: 'GET',
            url: 'content/requests/index.cs.asp?Process=ViewRequests',
            success: function(data) {
                $("#requests").html(data);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $("#requests").html('.');
            }
        });
    });

然后,在这个新提取的数据集中,我有几个表单。所有表单的ID都是REQUESTFORM,提交按钮的名称是respond。我需要它需要执行什么;一旦用户单击这些表单中的任何一个,单击的表单应该将其数据发送到index.asp?Process=RespondRequests并打印其响应。

代码语言:javascript
复制
    $("[name='respond']").click(function() { 
            $.ajax({
                type: "POST",
                data: $("#REQUESTFORM").serialize(),
                url: "content/requests/index.cs.asp?Process=RespondRequests", 
                success: function(output) { 
                $('#REQUESTFORM').html(output)
                },
                error: function(output) {
                $('#REQUESTFORM').html(output);
                }
            }); 
    }); 

这有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-18 22:55:23

您不能有多个具有相同ID的元素,否则,如果您这样做了,至少您将不能将该ID用于任何有用的事情。但由于submit按钮位于表单标记的下方,因此您可以使用closest函数来选择最近的表单。由于单击事件中的this指的是被单击的元素,因此您可以很容易地获得所单击按钮的表单:

代码语言:javascript
复制
   $(function Requests() {
     $.ajax({
       type: 'GET',
       url: 'content/requests/index.cs.asp?Process=ViewRequests',
       success: function(data) {
         var that = this;
         $("#requests").html(data);
         $("[name='respond']").click(function() { 
           $.ajax({
             type: "POST",
             data: $(that).closest("form").serialize(),
             url: "content/requests/index.cs.asp?Process=RespondRequests", 
             success: function(output) { 
               $(that).closest("form").html(output)
             },
             error: function(output) {
               $(that).closest("form").html(output);
             }
           });
         });
       },
       error: function (XMLHttpRequest, textStatus, errorThrown) {
         $("#requests").html('.');
       }
     });
   });
票数 0
EN

Stack Overflow用户

发布于 2009-08-18 22:48:07

我不太清楚您要做什么,但是您可以使用表单的submit事件并通过AJAX处理请求。在处理函数中,您应该返回false以防止表单在浏览器中提交(因为您将通过AJAX提交它)。

我希望它能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1296960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档