如何在同一页面上多次使用javascript进行相同的表单处理?

时间:2010-05-22 02:52:55

标签: javascript jquery ajax

我有一个拇指库,我使用ajax / javascript为每个图像提交一个表单,以便与php一起无缝地报告图像。表单和脚本是模板化的,因此脚本位于标题中,然后在同一页面上多次打印表单,其中隐藏字段具有不同的id,用于每个拇指的值。基本上这就是我所拥有的。

标题中的javascript

只是快速了解我的形式。只是一个快速的想法,而不是我实际拥有的。

image1后跟表格

image2后跟表格

因此,当您点击按钮时,它基本上会同时提交所有表单。我确信它可以用(this)或类似的东西修复,所以它一次只提交一个表单。请告诉我。

$(function(){
    $(“。submit”)。click(function(){
var imgId = $(“#imgId”)。val();
        var dataString ='imgId ='+ imgId;
        如果(imgId == ''){
            $(”成功)淡出(200).hide();
            $( '错误')淡入(200).show();
            $( '错误')淡出(200).hide();
        }其他{
            $阿贾克斯({
                键入:“POST”,
                url:“inc / brokenImgReport.php”,
                data:dataString,
                成功:function(){
        });

    $('.error').fadeOut(200).hide();  
    $('.success').fadeIn(200).show();  
    setTimeout(function() {  
        $('.success').fadeOut(200); }, 2000);  
    }  
    return false;  
});  

});

2 个答案:

答案 0 :(得分:0)

在包含多个表单的页面中。您可以在单击提交按钮时将单个表单引用为数组元素[0],表单[1]等。你可以做到

形式[0] .submit

表格[1] .submit

同样

答案 1 :(得分:0)

$(document).ready( function(){
    $('form.your_class_if_needed').submit( function(){
        do_your_stuff_here()
    })
})

每个包含your_class_if_needed类的表单都会将您定义的函数附加到其submit方法。在该函数中,$(this)将引用每个特定形式 - 而不是所有形式。然后,您可以在每个表单的上下文中轻松选择,处理和汇总表单字段和值,并使用$.ajax()$.post()提交。