首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化表单并使用标签和段落作为数组中的键

序列化表单并使用标签和段落作为数组中的键
EN

Stack Overflow用户
提问于 2019-01-20 21:18:58
回答 1查看 48关注 0票数 3

我有一个表单,在顶部是基本的,只是一些输入字段。但再往下是一个列表,上面有类别、问题和使用开关(单选按钮)的每个问题的三个可能答案。

我的HTML如下所示:

代码语言:javascript
复制
<form class="addwerkplekinspectie" action="#" method="post">
   <div class="row">
      <div class="col-md-3">
         <p class="inputtitles">Werkplekinspectie template:</p>
      </div>
      <div class="col-md-9">
         <p class="inputtitles nomarginleft">jjjj</p>
      </div>
      <div class="col-md-3">
         <p class="inputtitles">Titel:</p>
      </div>
      <div class="col-md-9">
         <input type="text" name="titel" class="form-control name_list">
      </div>
      <div class="col-md-3">
         <p class="inputtitles">Inspectienummer:</p>
      </div>
      <div class="col-md-9">
         <input type="text" name="inspectienummer" class="form-control name_list">
      </div>
      <div class="col-md-3">
         <p class="inputtitles">Inspectiedatum:</p>
      </div>
      <div class="col-md-9">
         <input type="date" name="datum" class="form-control name_list">
      </div>
      <div class="col-md-3">
         <p class="inputtitles">Naam inspecteur:</p>
      </div>
      <div class="col-md-9">
         <input type="text" name="naaminspecteur" class="form-control name_list">
      </div>
      <div class="col-md-3">
         <p class="inputtitles">Locatie/Vestiging</p>
      </div>
      <div class="col-md-9">
         <input type="text" name="locatie" class="form-control name_list">
      </div>
      <div class="col-md-3">
         <p class="inputtitles">Naam/ Namen geauditeerden</p>
      </div>
      <div class="col-md-9">
         <input type="text" name="naamgeauditeerden" class="form-control name_list">
      </div>
   </div>
   <label class="categorytitle">jjjj</label>
   <div class="row">
      <div class="col-md-8">
         <p class="questionclass">hhhh</p>
      </div>
      <div class="col-md-4">
         <div class="container text-right">
            <input type="radio" name="group1" id="radio-1" value="ok">
            <label class="radiotoggle" for="radio-1"><span class="radio">Ok</span></label>
            <input type="radio" name="group1" id="radio-2" value="fout">
            <label class="radiotoggle" for="radio-2"><span class="radio">Fout</span></label>
            <input type="radio" name="group1" id="radio-3" value="nvt">
            <label class="radiotoggle" for="radio-3"><span class="radio">N.v.t</span></label>
         </div>
      </div>
      <div class="col-md-8">
         <p class="questionclass">jjj</p>
      </div>
      <div class="col-md-4">
         <div class="container text-right">
            <input type="radio" name="group4" id="radio-4" value="ok">
            <label class="radiotoggle" for="radio-4"><span class="radio">Ok</span></label>
            <input type="radio" name="group4" id="radio-5" value="fout">
            <label class="radiotoggle" for="radio-5"><span class="radio">Fout</span></label>
            <input type="radio" name="group4" id="radio-6" value="nvt">
            <label class="radiotoggle" for="radio-6"><span class="radio">N.v.t</span></label>
         </div>
      </div>
   </div>
   <label class="categorytitle">Testt</label>
   <div class="row">
      <div class="col-md-8">
         <p class="questionclass">test</p>
      </div>
      <div class="col-md-4">
         <div class="container text-right">
            <input type="radio" name="group7" id="radio-7" value="ok">
            <label class="radiotoggle" for="radio-7"><span class="radio">Ok</span></label>
            <input type="radio" name="group7" id="radio-8" value="fout">
            <label class="radiotoggle" for="radio-8"><span class="radio">Fout</span></label>
            <input type="radio" name="group7" id="radio-9" value="nvt">
            <label class="radiotoggle" for="radio-9"><span class="radio">N.v.t</span></label>
         </div>
      </div>
   </div>
</form>
<div class="lijstresult">
</div>
<button type="button" class="btn btn-secondary btn-lg waves-effect btnadd savewpi">Werkplekinspectie opslaan</button>

为了说明我的意思,这是我的页面的样子:

当我序列化表单并将其发送到php脚本时,我打印的数组如下所示(除了单选按钮之外,我将所有内容都留空了):

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [name] => titel
            [value] => 
        )

    [1] => Array
        (
            [name] => inspectienummer
            [value] => 
        )

    [2] => Array
        (
            [name] => datum
            [value] => 
        )

    [3] => Array
        (
            [name] => naaminspecteur
            [value] => 
        )

    [4] => Array
        (
            [name] => locatie
            [value] => 
        )

    [5] => Array
        (
            [name] => naamgeauditeerden
            [value] => 
        )

    [6] => Array
        (
            [name] => group1
            [value] => nvt
        )

    [7] => Array
        (
            [name] => group4
            [value] => fout
        )

    [8] => Array
        (
            [name] => group7
            [value] => nvt
        )

)

如你所见,我没有办法说出哪个答案属于什么问题,哪个问题属于什么类别。

如何使用表单(问题)中的标签(类别)和段落?

理想情况下,我的数组应该如下所示:

代码语言:javascript
复制
Array
(
    [information] => Array
        (
            [titel] => inserted value
            [inspectienummer] => inserted value
            [datum] => inserted value
            [naaminspecteur] => inserted value
            [locatie] => inserted value
            [naamgeauditeerden] => inserted value
        )

    [questionlist] => Array
        (
            [jjjj] => Array
                    (
                        [hhhh] => ok
                        [jjj] => fout
                    )
            [testt] => Array
                    (
                        [test] => n.v.t.
                    )
        )
)

这是我目前序列化表单的方式:

代码语言:javascript
复制
$( ".savewpi" ).on( "click", function( event ) {
    event.preventDefault();

    url = 'includes/savewpi.php';
    $wpi = $( '.addwerkplekinspectie' ).serializeArray();

    // post the data
    var posting = $.post(url, {
      wpi: $wpi
    });

    console.log($wpi);

    posting.done(function( data ) {
     $( ".lijstresult" ).empty().slideDown('fast').append( data );
    });
  });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-20 21:35:18

您可以使用input字段的name属性来组织已发布的数据。创建如下所示的输入字段。

代码语言:javascript
复制
<input type="date" name="information[titel]" class="form-control name_list">
<input type="date" name="information[inspectienummer]" class="form-control name_list">
<input type="date" name="information[naaminspecteur]" class="form-control name_list">
<input type="date" name="information[locatie]" class="form-control name_list">
<input type="date" name="information[naamgeauditeerden]" class="form-control name_list">

<input type="radio" name="questionlist[jjjj][hhhh]" id="radio-1" value="ok">
<input type="radio" name="questionlist[jjjj][jjj]" id="radio-2" value="fout">
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54276848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档