HTML表单:如何将div下的所有元素作为一个数组提交?

时间:2017-11-19 16:24:53

标签: javascript html

我有一个包含多个div的表单,其中包含完全相同的内容。这是一个例子:

<div id="element0">
    textarea(name="front")
    textarea(name="back")
    input(type="radiobutton name="refresh")
</div>
<div id="element1">
    textarea(name="front")
    textarea(name="back")
    input(type="radiobutton name="refresh")
</div>
<div id="element2">
    textarea(name="front")
    textarea(name="back")
    unput(type="radiobutton name="refresh")
</div>

当我将表单提交到我的网站时,它们都显示为元素名称的数组(例如,front : { "Something here", "Another here" }, back : { "blah blah", "more blah"})但是我希望它们都在单个div数组下。例如,element0 : { front : "Something here", back : "blah bah" }, element1: { front : "Another here", back : "more blah" }是否有一个简单的原因提交它而不是编写脚本来执行此操作?

1 个答案:

答案 0 :(得分:0)

来自jquery docs的海峡

async function performOperations(){
    let Translatedtext = await translateSentence("Welcome", "en", "fr")
    data = new Object();
    data.Translatedtext = Translatedtext;

    var string = JSON.stringify(data);
    console.log(JSON.parse(string));
}

performOperations()

如果您不想等待提交事件,也可以像这样调用此方法$( "form" ).submit(function( event ) { console.log( $( this ).serializeArray() ); event.preventDefault(); });

.serializeArray()

查看文档

查看Here

在您更新问题后,我已经使您使用此Javascript函数来获得所需的结果

调用var formArray = $("#formIDHere").serializeArray(); 以返回包含数据的对象。

formToJson(ContainerIDGoesHere)

这是一个带有工作示例的JSFiddle; https://jsfiddle.net/6z1epu4w/