- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通过后端动态创建的调查问卷页面。我需要序列化表单数据,但 form.serialize 数组采用 name 属性,我想为我发送的数据分配自己的 key 。我对 JavaScript 很陌生。我需要将问题 data-id 代替 key 和所选的输入值这可能吗?我正在使用 AJAX 来发布表单。后端是Flask。
The html page
<h4 class="text-edit" id="question-{{key}}" data-id="{{key}} //will be numeric">1. Does the lecturer Communicate clearly?</h4>
<!-- I need the data-id of the h4 tag-->
<input type="radio" name="options1" id="options" value="1" >
<!-- And the value of the value in the radio button-->
<label class="radio-inline mg" for='options'> Yes</label>
<input type="radio" name="options1" id="options" value="2">
<label class="radio-inline mg" for='options'> No</label>
The Javascript I'm using
var dataset = {
"stream": $("#stream_id").data("name"),
"subject": $('#subject_select option:selected').val(),
"teacher": $('#teacher_select option:selected').val()
};
// IF I COULD Even append the data to the above thing that also would work
$.ajax({
url: "{{url_for('question.gen_teacher')}}",
data: $('form#questionform').serialize(),
type: 'POST',
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
最佳答案
实际上,.serialize()
方法将使您的表单键的值类似于:
key1=value1&key2=value2
所以只需将一些字符串附加到您的 .serialize() 方法中即可:
var dataset = {
"stream": $("#stream_id").data("name"),
"subject": $('#subject_select option:selected').val(),
"teacher": $('#teacher_select option:selected').val()
};
$.ajax({
url: "{{url_for('question.gen_teacher')}}",
data: $('form#questionform').serialize() + "&data-id=value",
type: 'POST',
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
var formData = $('form#questionform').serializeArray();
formData.push({ name: "data-id", value: "somevalue" });
并将 formData
变量放入 $ajax data
HTML:
<h4 h-id="1" class="text-edit" id="question-{{key}}" data-id="{{key}} //will be numeric">1. Does the lecturer Communicate clearly?</h4>
<select answer-id="1">
<option value="1">Yes</option>
<option value="0">No</option>
</select>
JavaScript:
var formData = {};
$("h4[h-id]").each(function(){
var hid = $(this).attr("h-id");
var id = $(this).attr("id");
var answer = $('select[answer-id="'+hid+'"]');
formData.push({id:answer});
})
// ... ajax
data: formData,
关于javascript - form.serializeArray() 的自定义键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47970099/
这个问题已经有答案了: Serialize form not working in jQuery (8 个回答) 已关闭10 年前。 我正在使用 Jquery 和 Backbone 来构建我的应用程序
我正在尝试使用 .seralizeArray() 来获取表单输入值。 输入字段由具有相应价格的商品列表组成;我想根据相应的 key 对保存每个值,但不断收到错误:...长度为 0 的空数组。 我尝试了
(问题已更新以反射(reflect)实际问题) 我刚刚意识到 serializeArray 没有从禁用的字段中获取内容。 通过从自动建议列表中选择一个项目来填充一组(街道)地址字段。完成此操作后,这些
我还没有找到关于这是否可能的具体答案,但看起来应该是...... 我想序列化 div 中包含的所有输入元素。我无法使用表单,因为它会嵌套在另一个表单中。然后我会获取这些值并通过 ajax 发布它们。
我在序列化表单时遇到了一些麻烦 $(form).serializeArray() 将返回[{name:"name1",value:"value1"},{name:"name2"
我有一个有两个按钮的表单。一个用于保存记录,另一个用于取消保存过程。我正在使用 rails.js (对于那些不了解的人来说是一个常见的 AJAX/jQuery 插件) javascript 文件,它与
我有多个在单页上,都有唯一的 ID,表单正文如下所示。 . . . . . . .
我需要 serializeArray() 每次都返回选择框中的所有项目,而不仅仅是当前选定的项目,因为我的选择框的内容可以增长或缩小。 Test1 Test2 Test3 T
我正在使用 jquery .serializeArray() 来获取所有 在 。我正在放置来自 .serializeArray() 的 Json 对象进入 jquery .data() 如何从 Js
我试图将数组作为字符串传递 $(document).ready(function(){ var args = {}; $('.radio').click(function(){ var ob
我有这个 html 结构: Mini description (affichage dernières destinations ajoutées et met
有一个由脚本创建的输入表,可能包含任意数量的输入行,因此有很多同名的输入元素。问题是 serializeArray() 不会拆分这些输入行,因此我无法在 PHP 端处理这些行。 Her
我有这个表格: Email Passw
我有一个使用 ajax 动态创建的表单(因为表单元素的数据必须来自数据库),我想序列化表单的元素以通过 ajax 提交。我目前只是使用 jQuery 网站上的代码测试我的理论,看看我是否可以选择表单元
我正在执行以下操作: var data = $(form).serializeArray(); // Now I want to add another value on this data dat
我有一个通过后端动态创建的调查问卷页面。我需要序列化表单数据,但 form.serialize 数组采用 name 属性,我想为我发送的数据分配自己的 key 。我对 JavaScript 很陌生。我
我正在尝试在 jQuery 中序列化我的表单提交。我正在尝试获取类似的 JSON字符串或对象。另外,如果有人能让我知道如何只选择那些有值的小部件而不是空的小部件,那就完美了。 我很匆忙,因此没有检查语
我有几组复选框,其中包含: 1 个家庭 很多种类 很多种类 多种性别 多种性别 我有以下 HTML:
我有这个问题,我使用serializearray() jquery将Form的所有字段序列化为Json。如果在输入中输入 name 属性,它可以正常工作,但如果我只想输入 ID 属性,它就不起作用。
我使用 serializeArray() 方法将 HTML 表单获取为 JS 对象。当表单具有带有“多个”选项的选择控件但未选择任何选项时,对象不会序列化。 这是一个示例:https://fiddle
我是一名优秀的程序员,十分优秀!