在页面上以一种形式添加输入值

时间:2017-02-08 12:12:17

标签: javascript php jquery html forms

我有一个包含多个HTML表单的页面。我需要在一个表单中添加所有输入值,而不是在页面上添加所有表单。当输入输入字段时,它会将数据发送到ajax调用,该调用很有效,但是sum值来自页面上的所有表单,而不仅仅是我输入的表单。

$('.risk_assessments_number_input').keyup(function() {
  var form = $(this).closest("form");
  var ajaxurl = '<?php echo WEB_URL; ?>controllers/ajax/save_risk_assessment.php',
  form_data = $(form).serialize();

  var sum = 0;

  $('.risk_assessments_number_input').each(function() {
    sum += Number($(this).val());
  });

  console.log(sum);

  $.post(ajaxurl, form_data, function (response) {

  });
});

1 个答案:

答案 0 :(得分:2)

您可以指定您的键盘功能以处理特定形式的输入。例如:

<form id="numberInputs">
   <input class="risk_assessments_number_input">
</form>

$('#numberInputs .risk_assessments_number_input').keyup(function() {
  var form = $(this).closest("form");
  var ajaxurl = '<?php echo WEB_URL; ?>controllers/ajax/save_risk_assessment.php',
  form_data = $(form).serialize();

  var sum = 0;

  $('#numberInputs .risk_assessments_number_input').each(function() {
    sum += Number($(this).val());
  });

  console.log(sum);

  $.post(ajaxurl, form_data, function (response) {

  });
});

这会将您的代码仅应用于ID为numberInputs的表单内的风险评估输入。