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

时间:2015-10-27 18:47:22

标签: jquery hubspot

所以我有一个有问题的表单,每个问题都有一个值,并且这些值会相加以获得“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);

});

}); //结束doc rdy

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

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

我正在使用HubSpot进行表单提交,因此我无法确切地看到他们正在接收的内容,只是除非我删除“只读”并手动输入字段,否则分数为空。

2 个答案:

答案 0 :(得分:2)

只是想让每个人都知道我弄清楚了,我需要在表单创建中添加以下内容,以便在提交之前更新值:

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

最后.change()部分是重要的,需要更新hubspot的表单字段。

答案 1 :(得分:1)

这是一个由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>