gpt4 book ai didi

javascript - 动态更改字符串 - 未提交正确的值?

转载 作者:行者123 更新时间:2023-12-03 02:17:06 24 4
gpt4 key购买 nike

我最近发布了另一个关于如何向字符串添加内容( Dynamically change string with JS? )的问题,我在这方面取得了进展,但似乎更新的变量没有被提交。我错过了什么吗?

这是我的代码:

<script type="text/javascript">
var selections = 'Gender, ';
jQuery(".add-to-form").click(function () {
var title = jQuery(this).attr("title");
selections += title + ', ';
console.log(selections);
});
var ss_form = {'account': 'XYZ', 'formID': 'XYZ'};
ss_form.width = '100%';
ss_form.height = '1000';
ss_form.domain = 'app-XYZ.marketingautomation.services';
ss_form.hidden = {'field_XXXXX': selections };
</script>

这非常有效,因为正确的值显示在控制台日志中,但是当我提交表单并在 SharpSpring 中查看时,唯一获得的值是初始变量值(性别,)。我是否需要以某种方式刷新隐藏字段中的变量值?

感谢所有帮助,谢谢!

最佳答案

以下行在页面加载时执行:

ss_form.hidden = {'field_XXXXX': selections }; 

这将按当时的情况分配selections 的值。 field_XXXXX 属性是一个单独的变量,当您稍后为 selections 分配不同的值时,该变量不会更改。

因此,当单击事件触发,并且您为 selections 分配一个新的(更长的)值时,只有该变量会发生变化。它与上面的属性没有连接。

如何解决?只需在点击处理程序中对 ss_form.hidden.field_XXXXX 属性进行另一次赋值即可:

jQuery(".add-to-form").click(function () {
var title = jQuery(this).attr("title");
selections += title + ', ';
ss_form.hidden.field_XXXXX = selections; // <-------
console.log(selections);
});

我假设ss_form.hidden是某种API驱动的方式来设置隐藏的input元素,并且这是有效的。如果没有,请确保识别需要获取新值的 input 元素,如下所示:

$('#id_of_hidden_input').val(selections);

关于javascript - 动态更改字符串 - 未提交正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com