我正在开发一个动态表单,用户可以随时添加位置,我非常接近将其包装起来,但现在我意识到只有数组的第一部分正在提交。提交按钮位于末尾,所有字段使用[]相同。在我粘贴代码之前,我将首先介绍一下我如何测试该问题。首先,我的数据库中没有其他数据 - 只有第一个位置。其次,当我执行var_dump
时,数组只显示第一个位置。
<div id="locInformation">
<form name="assessment" action="create_new_record.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?=$id?>">
<p>Location: <input type="text" name="location[]" > </p>
<p>Department name: <input type="text" name="department_name[]" > </p>
<p>Participant name: <input type="text" name="participant_name[]" > </p>
<p>Activity performed: <textarea cols="25" rows="3" name="activity[]" ></textarea> </p>
<p>Conditon: <select class="form-control" name="condition[]" style="width:20%;">
<option value="dry" id="dry">Dry</option>
<option value="heavy_oil" id="heavy_oil">Heavy Oil/Grease</option>
<option value="light_oil" id="light_oil">Light Oil</option>
<option value="sandy" id="sandy">Sandy/Grit</option>
<option value="wet" id="wet">Slightly Wet</option>
</select></p>
<div class="well">
<p>Avg Number of Non-recordable Injuries: <input type="number" name="non_rec_injuries[]" >
<select name="non_rec_injury_timeframe[]">
<option value="last month">Last month</option>
<option value="last 6 months">Last 6 months</option>
<option value="last 12 months">Last 12 months</option>
</select>
</p>
<h4>Based on the number of Non-recordable Injuries - Estimate the Injury Type by Percentage </h4>
<div class="container-fluid">
<div class="form-group row">
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_cuts[]" type="number" min="0" max="100" value="" placeholder="Cuts / Lacerations / Abrasion" > </div>
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_burns[]" type="number" min="0" max="100" value="" placeholder="Heat or Chemical Burn" ></div>
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_infection[]" type="number" min="0" max="100" value="" placeholder="Infection" > </div>
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_dermatitis[]" type="number" min="0" max="100" value="" placeholder="Dermatitis" > </div>
<div class="clearfix visible-xs-block"></div> <div class="hidden-xs hidden-sm"><br ><br ></div>
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_puncture[]" type="number" min="0" max="100" value="" placeholder="Puncture" ></div>
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_sprain[]" type="number" min="0" max="100" value="" placeholder="Carpal Tunnel / Sprain" ></div>
<div class="col-md-3 col-sm-4"><input class="form-control" name="non_rec_impact[]" type="number" min="0" max="100" value="" placeholder="Impact / Contusion / Inflammation" >
</div>
</div>
</div>
</div>
<p>Estimated Cost of Productivity (Downtime)/minute: $ <input type="number" name="cost_of_productivity[]" > </p>
<p>Percent of leakage related to uncontrolled dispensing: <input type="number" min="0" max="100" name="leakage[]" > % </p>
<p>Which competitor is the participant using? <input type="text" name="competitor[]" ></p>
<p>Usage Rate per 12 months (pairs): <input type="number" min="0" name="usage_rate[]" ></p>
<p>Estimated cost per pair: $ <input type="number" min="0" name="cost_per_pair[]" ></p>
<br >
<!--<input style="margin-left:10px;" class="btn btn-warning" type="button" value="Remove Location" onclick="removeLoc('locInformation','additionalLoc'); ">-->
<div class="hidden" id="additionalLoc" >
<br><p>Location: <input type='text' name='location[]' > </p>
<p>Department name: <input type='text' name='department_name[]' > </p>
<p>Participant name: <input type='text' name='participant_name[]' > </p>
<p>Activity performed: <textarea cols='25' rows='3' name='activity[]' ></textarea> </p>
<p>Conditon: <select class='form-control' name='condition[]' style='width:20%;'>
<option value='dry' id='dry'>Dry</option>
<option value='heavy_oil' id='heavy_oil'>Heavy Oil/Grease</option>
<option value='light_oil' id='light_oil'>Light Oil</option>
<option value='sandy' id='sandy'>Sandy/Grit</option>
<option value='wet' id='wet'>Slightly Wet</option>
</select></p>
<div class="well">
<p>Avg Number of Non-recordable Injuries: <input type='number' name='non_rec_injuries[]' >
<select name='non_rec_injury_timeframe[]'>
<option value='last month'>Last month</option>
<option value='last 6 months'>Last 6 months</option>
<option value='last 12 months'>Last 12 months</option>
</select>
</p>
<h4>Based on the number of Non-recordable Injuries - Estimate the Injury Type by Percentage </h4>
<div class='container-fluid'>
<div class='form-group row'>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_cuts[]' type='number' min='0' max='100' value='' placeholder='Cuts / Lacerations / Abrasion' > </div>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_burns[]' type='number' min='0' max='100' value='' placeholder='Heat or Chemical Burn' ></div>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_infection[]' type='number' min='0' max='100' value='' placeholder='Infection' > </div>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_dermatitis[]' type='number' min='0' max='100' value='' placeholder='Dermatitis' > </div>
<div class='clearfix visible-xs-block'></div> <div class='hidden-xs hidden-sm'><br ><br ></div>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_puncture[]' type='number' min='0' max='100' value='' placeholder='Puncture' ></div>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_sprain[]' type='number' min='0' max='100' value='' placeholder='Carpal Tunnel / Sprain' ></div>
<div class='col-md-3 col-sm-4'><input class='form-control' name='non_rec_impact[]' type='number' min='0' max='100' value='' placeholder='Impact / Contusion / Inflammation' ></div>
</div>
</div>
</div>
<p>Estimated Cost of Productivity (Downtime)/minute: $ <input type='number' name='cost_of_productivity[]' > </p>
<p>Percent of leakage related to uncontrolled dispensing: <input type='number' min='0' max='100' name='leakage[]' > % </p>
<p>Which competitor is the participant using? <input type='text' name='competitor[]' ></p>
<p>Usage Rate per 12 months (pairs): <input type='number' min='0' name='usage_rate[]' ></p>
<p>Estimated cost per pair: $ <input type='number' min='0' name='cost_per_pair[]' ></p>
</div>
</div>
<br >
<input style="margin-left:5px;" class="btn btn-primary" type="button" value="Add Additional Location" onClick="addInput('locInformation');">
<input style="margin-left:10px;" class="btn btn-success submit" type="submit" name="submit" value="Submit Assessment">
</form>
<br >
</div>
</body>
</html>
我唯一想到的是动态领域的JS搞砸了什么。 div additionalLoc
有一个class="hidden"
标记,因此它不会在初始加载时显示。我进行了搜索并遇到了一些类似问题,但答案不适用,例如Part of form doesn't submit。
答案 0 :(得分:0)
好的,我现在有这个工作。问题出在我的HTML上。在认为JS或PHP是问题后退了一步,我得出结论,HTML可能是这里的问题。使用https://validator.w3.org/之类的工具查看HTML,确定了一些问题,一旦更正,表单就会按预期工作。
第一个问题是我有多个id
字段(无论如何都不需要)并且字段不是唯一的 - 如果使用id
则需要这些字段。
其次,问题是额外的</div>
导致格式化问题。
第三,我将JS额外位置div从class="hidden"
更改为style="display:none"
。