我有一个包含多个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) {
});
});
答案 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的表单内的风险评估输入。