【问题标题】:how can you have the same form handle by javascript multiple times on the same page?如何在同一页面上多次使用 javascript 处理相同的表单?
【发布时间】:2011-02-22 15:02:51
【问题描述】:

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

标头中的javascript

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

image1 后跟表格

image2 后跟表格

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

$(函数() {
$(".submit").click(function() {
var imgId = $("#imgId").val();
var dataString = 'imgId='+ imgId;
如果(imgId==''){
$('.success').fadeOut(200).hide();
$('.error').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}其他{
$.ajax({
类型:“POST”,
网址:“inc/brokenImgReport.php”,
数据:数据字符串,
成功:函数(){
});

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

});

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

    在具有多种形式的页面中。您可以将单个表单称为数组元素 forms[0]、forms[1] ,同样,单击提交按钮。你可以做

    表格[0].提交

    表格[1].提交

    同样

    【讨论】:

    • 没关系,我想我不能改变它,因为它有网址。
    【解决方案2】:
    $(document).ready( function(){
        $('form.your_class_if_needed').submit( function(){
            do_your_stuff_here()
        })
    })
    

    每个带有your_class_if_needed 类的表单都会将你定义的函数附加到它的submit 方法上。在该函数中,$(this) 将引用每个特定的表单——不是所有表单。然后,您可以在每个表单的上下文中轻松选择、处理和组合表单字段和值,并使用$.ajax()$.post() 提交它们。

    【讨论】:

    • 正如你在上面看到的,我有 $(function() { $(".submit").click(function() { 所以我使用类作为按钮。我一无所知到 javascript 所以我仍然不确定如何让它工作。我的拇指是通过 php 动态创建的,范围从 12 到数千张图像,所以我需要 javascript 来处理每个表单。会有尽可能多的表单图像感知表单功能是将其所在的图像标记为数据库中的不良图像。我会将确切的html添加到原始帖子中,希望对您有所帮助。
    • 我建议您覆盖每个表单本身的提交方法,而不是将行为附加到提交按钮的点击事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多