Javascript 刷新不';t零值,将其转换为值列表

Javascript 刷新不';t零值,将其转换为值列表,javascript,html,Javascript,Html,因此,我尝试使用表单中复选框中的值创建一个位字段。但是,每当我刷新页面,或者提交验证失败时,它都会将该值转换为列表,而不是将其归零 var priceSum = 0; $('.price:checked').each(function() { priceSum += parseInt(this.value); }); 这在$('#表单')中。提交(函数(){}) 如果没有验证错误或刷新,我将获得正确的值。但是,如果这些事件确实发生,它会将值转换为列表。例如,假设验证在成功之前失败了两次

因此,我尝试使用表单中复选框中的值创建一个位字段。但是,每当我刷新页面,或者提交验证失败时,它都会将该值转换为列表,而不是将其归零

var priceSum = 0;
$('.price:checked').each(function() {
    priceSum += parseInt(this.value);
});
这在
$('#表单')中。提交(函数(){})

如果没有验证错误或刷新,我将获得正确的值。但是,如果这些事件确实发生,它会将值转换为列表。例如,假设验证在成功之前失败了两次,我得到的不是4,而是0,0,4

在进一步的审查中,我很确定这与我如何将其附加到表单有关
var prices=$('').attr(“类型”、“隐藏”).attr(“名称”、“价格总额”).val(价格总额);
$('形式')。追加($(价格))

是否每次都会继续追加值?如果是,是否有方法删除已存在的隐藏字段

谢谢

是否每次都会继续追加值


对。仅在不存在的情况下附加
priceSum
输入。

如果每次都无法避免创建隐藏输入,则可以先将其删除(如果存在):

$('#form [name=priceSum]').remove();

即使输入不存在,您也可以安全地这样做。然后它只会找到零个元素,而
remove
调用将什么也不做。

我看不出这段代码会发生什么。你能显示整个代码吗?你有一个HTML ID priceSum吗?不,它只是我创建的一个变量,用于统计位字段值,在
.submit(function(){})
中声明,这就是我创建隐藏输入标记并将其附加到表单的原因。至少我认为这就是我在做的