gpt4 book ai didi

javascript - 使用相应的标签序列化表单

转载 作者:行者123 更新时间:2023-12-03 00:57:46 26 4
gpt4 key购买 nike

我正在使用 jQuery 序列化表单,并将其值发布到 url,该 url 将它们作为名称/值对存储在数据库中。但是,每个表单字段的名称和 ID 是动态生成的(例如 f4sgg-342),因此不描述特定字段。我无法控制生成这些字段的系统。

但是有相应的标签,其中包含特定表单字段的描述 - 它们还包含 for="f4sgg-342"属性,允许我将标签链接到正确的字段。

我使用了常规的 form.serialize() 函数:

<script type="text/javascript">
$(document).ready(function() {
var form = $("#some-form");

$("#some-form").submit(function(e) {
$.ajax({
type: "POST",
url: 'https://example.com/post.php',
data: form.serialize(),
success: function(response) {
console.log(response);
$("#result").html(response);
},
error: function() {
alert('Error Submitting');
}
})
})
})

但是当我将内容传递到网址时,我非常不知道如何用标签替换表单字段名称。考虑使用 .labels() jQueryUI - 但同样 - 似乎无法“连接点”

有什么建议吗?谢谢!

最佳答案

这个怎么样?假设您在表单底部有一个附加到点击事件的按钮(带有 id 提交):

$("#submit").click(function(){

var originalSerialized = $("#some-form").serialize();
console.log(originalSerialized);

var splitedString = originalSerialized.split("&");
console.log(splitedString);

var newString = "";

$.each(splitedString, function(i, element){

var strangeName = element.substr(0, element.indexOf('='));

if(newString == "")
newString = $("label[for='"+strangeName+"']").html() + element.substr(element.indexOf('='));
else
newString += "&" + $("label[for='"+strangeName+"']").html() + element.substr(element.indexOf('='));

})

console.log(newString);

//Here, you do the AJAX and the data is the newString variable

})

关于javascript - 使用相应的标签序列化表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52749069/

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