首页 > 解决方案 > 如何识别表单内的输入?

问题描述

我有许多表单(由用户使用“添加”按钮创建),每个表单都有一个唯一的 ID,但“Form1”中的输入与“Form2”中的输入具有相同的 ID。如何识别每个输入中的文本?

我的意思是,可能存在类似:form1.getelementbyid(input_value)?

我需要做的是执行一个函数来计算每个表单的结果,这就是为什么我需要识别每个表单的输入。

这是我用于执行函数并获取一种形式的结果的代码,它工作正常:

function Calcular_Montos()
{
    var val = $('#IBC').val();
    var porcentaje_riesgos = $('[name=porcentaje_riesgos]:checked').val();
    var exento_salud = $('[name=exento_salud]:checked').val();
    $.ajax({
      url: 'costo_empleado.php',
      type: 'POST',
      data: {"IBC": val, "porcentaje_riesgos": porcentaje_riesgos, "exento_salud": exento_salud},
      success: function (response)
      {
        $('#resultado').html(response);
      }
    });
}

但正如你所看到的,那些#IBC、#porcentaje_riesgos、#exento_salud 是 Form1 和 Form2 通用的 ID

标签: javascripthtml

解决方案


将单独的 id 分配给form 1andform 2并使用后代运算符 ( >) 来选择表单内的相应输入

   $(' #form1 > #IBC')

function Calcular_Montos()
{
    var val = $('#form1 > #IBC').val();
    var porcentaje_riesgos = $('[name=porcentaje_riesgos]:checked').val();
    var exento_salud = $('#form1 > [name=exento_salud]:checked').val();
    $.ajax({
      url: 'costo_empleado.php',
      type: 'POST',
      data: {"IBC": val, "porcentaje_riesgos": porcentaje_riesgos, "exento_salud": exento_salud},
      success: function (response)
      {
        $('#resultado').html(response);
      }
    });
}


推荐阅读