Javascript 两个表单,两个div,只将数据从一个表单添加到一个div?

Javascript 两个表单,两个div,只将数据从一个表单添加到一个div?,javascript,ajax,forms,asp-classic,Javascript,Ajax,Forms,Asp Classic,我有一个带两张幻灯片的滑块,两张幻灯片都包含相同的表单。当我从一个或另一个表单提交时,我希望将该表单中的数据附加到包含该表单的幻灯片中。我只能从一个表单中获取数据,但我无法仅在一张幻灯片上获取附加数据。这两方面都有好处。我不能只使用不同的ID,因为我将使用ajax来更改基于前向或后向幻灯片导航的不可见幻灯片,因此理论上滑块是无限的 以下是我的html(简化以便于查看): 这是因为$(“.table”,this)匹配两张幻灯片 您可以通过给出每张幻灯片和id,如id=“slide1” 然后执行$(

我有一个带两张幻灯片的滑块,两张幻灯片都包含相同的表单。当我从一个或另一个表单提交时,我希望将该表单中的数据附加到包含该表单的幻灯片中。我只能从一个表单中获取数据,但我无法仅在一张幻灯片上获取附加数据。这两方面都有好处。我不能只使用不同的ID,因为我将使用ajax来更改基于前向或后向幻灯片导航的不可见幻灯片,因此理论上滑块是无限的

以下是我的html(简化以便于查看):

这是因为
$(“.table”,this)
匹配两张幻灯片

您可以通过给出每张幻灯片和
id
,如
id=“slide1”

然后执行
$(“#slide1”)
(或slide2),具体取决于提交的文件

您基本上需要将表单绑定到幻灯片,因为每张幻灯片都有自己的表单


同样,您可能需要为
$(“.addNewCustomPerform”)
执行类似的操作。为每个表单指定一个唯一的id,并将一个提交处理程序绑定到
#slide1
,另一个绑定到
#slide2
您可能想要这样的东西

$(".addNewCustomerForm").submit(function(event) {
    var thisForm = $(this);
    $.post('addNewCustomer.asp', $(this).serialize(), function(result){
        thisForm.parent().find('.table').append(result);
        $(".newLine").slideDown();
    })
    return false;
});

(在本地测试,先更改后查找)

谢谢!那很好用。我认为这与回调函数中的“this”有关。变量作用域是javascript中最棘手的概念之一。Tryptich提供了一组非常好的示例来学习这里的基础知识,我不能使用id,因为新幻灯片将使用Ajax动态添加,这并不能解释为什么不能使用id。但是,如果要动态添加它们,还可以保留对它们的引用。
$(".addNewCustomerForm").submit(function(event) {
        $.post('addNewCustomer.asp', $(this).serialize(), function(result){
            $(".table", this).append(result);
            $(".newLine").slideDown();
        })
        return false;
    });
$(".addNewCustomerForm").submit(function(event) {
    var thisForm = $(this);
    $.post('addNewCustomer.asp', $(this).serialize(), function(result){
        thisForm.parent().find('.table').append(result);
        $(".newLine").slideDown();
    })
    return false;
});