2016-10-10 12 views
0

私は動的フォームを作成しています。ユーザーは場所を追加することができます。私はこれをラップするのに非常に近いですが、今は配列の最初の部分だけが送信されていることを認識しています。送信ボタンが最後にあり、[]を使用してすべてのフィールドが同じです。コードを貼り付ける前に、まず問題のテスト方法を説明します。まず、私のdbに追加データはありません - 最初の場所のみ。第二に、私が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

(質問の改善:最後の質問から実際に改善されました:http://stackoverflow.com/q/39918472これで、[mcve]を作成しようとしました。 )あなたが知っているコードを見なければなりません。 – Rizier123

+0

あなたのsqlコードはどこですか?あなたのコードはどこにsqlにデータを挿入しますか? –

+1

@AbhrapratimNag、あなたはhttp://stackoverflow.com/q/39918472からそれを見ることができます。私は、POSTデータの 'var_dump'が最初の場所だけを表示するため、これがどこにあるのかはわかりません。 –

答えて

0

私はこれを今すぐ使用しています。問題は自分のHTMLにありました。 JSやPHPが問題だと思って後退した後、私はHTMLがここで問題になるかもしれないと結論づけました。 https://validator.w3.org/のようなツールを使用して、いくつかの問題を特定したHTMLを見て、いったん修正すると、フォームは期待通りに機能します。

最初の問題は、複数のidフィールド(これは必須ではありません)でした。フィールドは一意ではなく - idを使用する場合は必須です。

第2に、</div>の書式設定の問題が発生しました。

第3に、私はJSの追加ロケーションdivをclass="hidden"からstyle="display:none"に変更しました。

関連する問題