gpt4 book ai didi

jquery - 如何在提交之前从表单serialize()获取和替换数据?

转载 作者:行者123 更新时间:2023-12-03 22:31:24 26 4
gpt4 key购买 nike

我需要使用 jQuery 提交表单,但在提交之前我想更改其中一个表单字段的值而不向用户显示更改。我知道这不是最好的方法,但我的软件要求这样做。

目前我使用:

var submit = $("#submitform").serialize();

序列化数据,然后使用

提交它们
$.post('/post', submit)

我拥有的序列化数据是:

entry%5Bbody%5D=hello+and+welcome&addedContexts=presentation&context=prese ntation&selectedContexts=&statementid=&timestamp=

我只是想将 entry%5Bbody%5D 的值更改为其他值。

我知道我可以在字符串上使用正则表达式(我找不到哪个?),但也许您知道更优雅的解决方案?比如先序列化表单,然后反序列化,改变我需要的值,再序列化?

谢谢!

最佳答案

使用$("#submitform").serializeArray()并在数组中搜索name属性等于“entry[body]”的项目并编辑其value属性。

// convert form data to array
var data = $("#submitform").serializeArray();

// edit data here
// using ES6
data.find(item => item.name === 'entry[body]').value = "something else";
// OR using ES5
data.forEach(function (item) {
if (item.name === 'entry[body]') {
item.value = "something else";
}
});

// then POST
$.post('/post', $.param(data));

关于jquery - 如何在提交之前从表单serialize()获取和替换数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858294/

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