【问题标题】:jQuery passing values from one form to preivous formjQuery将值从一个表单传递到前一个表单
【发布时间】:2010-02-19 21:15:57
【问题描述】:

有没有可能从一个js文件中找出你当前的表单是什么?

这是我的问题.. 我有一个表格 form1,其中包含一个表格.. 当点击表格中的一行时,另一个表格会弹出 form2。如果用户在 form2 上“成功保存”,则表单关闭并且 form1 重新成为焦点。我的问题是,当该表单关闭以设置/更改值时,是否可以发送 id 或调用函数

我想要做的是更改用户在form1 上保存的行的行属性。 示例:

table.row[1].color = red 

保存后

table.row[1].color = green

我如何访问/设置表格 1 上的值。我假设一旦我知道我在什么表格上,我需要做这样的事情..这一切都在一个 js 文件中完成..

foreach(row in table)
    {
        if (FormName.GeneralReport.rows[i]).attr("userid") == 'id') 
        {
            $(FormName.GeneralReport.rows[i]).attr("isValid", "True");
            $(formNameGeneralReport.rows[i]).css("background-color:", "green");
        }
    }

或者...我可以向 form1 添加一个函数并从我的 js 文件中调用该函数吗?

【问题讨论】:

  • 我想这取决于你所说的“弹出”和“关闭”的意思——你是从 DOM 中删除原始表单吗?还是它出现在一个弹出窗口中而原始表单只是失去焦点?

标签: jquery html forms


【解决方案1】:

很难给出详细的答案,因为整个结构的描述有点模糊。假设这一切完全发生在客户端,因此没有新的 HTTP 请求被发送到服务器端,通常你可以通过设置一些(不可见的)DOM 元素和/或具有该值的属性来“传递”值。例如,将<input type="hidden" name="formid"> 添加到对话框中的表单中,然后在编辑按钮中添加类似这样的内容:

$('.edit').click(function() {
    var formid = $(this).parents('form').attr('id');
    $('#dialog input[name=formid]').val(formid);
    // ...
    $('#dialog').show();    
});

..并在对话框的保存按钮中添加这样的内容:

$('#dialog .save').click(function() {
    var formid = $(this).parents('#dialog').find('input[name=formid]').val();
    var form = $('#' + formId);
    // ...
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多