在填有 Jquery 的表单字段中提交信息

Submitting information in a form field populated with Jquery

所以我有一个带有问题的表格,每个问题都有一个值,这些值相加得到你的“score”。分数显示在输入字段中,当您提交时,它会发送输入字段中的信息(分数以及姓名和电子邮件)。我遇到的问题是,即使“score”字段在视觉上更新,它也没有在字段中发送信息。我已经尝试同时使用 .attr.val 并且都更新了字段但没有发送值。

$("input[name=score]").attr('value', score);

$("input[name=score]").val(score)

我让它发送信息的唯一方法是手动输入值,所以我知道它的一部分在工作,只是看不到 jquery 填写的值。

更新: 这是计算

的完整代码
$(document).ready(function(){

function calcscore(){
var score = 0;
$(".hs-input:checked").each(function(){
    score+=parseInt($(this).val(),10);
});
$("input[name=score]").attr('value', score);
}
$().ready(function(){
$(".hs-input").change(function(){
    calcscore()
});

$("input[name=score]").prop("readonly", true);

});

}); //结束文档rdy

表格很长,但有问题的字段是:

<input class="hs-input score" type="text" name="score" /><br>

我正在使用 HubSpot 提交表单,所以我无法真正看到他们收到的确切内容,只是分数是空白的,除非我删除 "read only" 并手动输入字段。

这是一个由 jquery 更改并显示在 .serialize()

控制台中的值的功能演示

$(document).ready(function() {
    $('.changeScore').on('click', function() {
     $("input[name=score]").val('99');
    });
 
    $('.submit').on('click', function() {
     var data = $('form').serialize();
        console.log(data);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
    <input name="score" />
</form>
<button class="submit">Submit</button>
<button class="changeScore">change score</button>

只是想让大家知道我想通了,我需要在表单创建中添加以下内容,以便在提交之前更新值:

onFormSubmit($form){
    $('input[name="score"]').val(sum).change();
}

末尾的.change()部分很重要,需要更新hubspot的表单字段。