如果在模态内,则不会发布表单元素值

时间:2013-09-17 08:04:18

标签: php jquery twitter-bootstrap post modal-dialog

所以我有这个庞大的数据表,每一行都有自己的“编辑”按钮,可以打开一个模态窗口。在每个模态窗口中都有一个表单和一个提交按钮。它的效果很好。

现在是棘手的部分。

我使用bootstrap-modal添加了第二层,第二层采用了第二层。 在这个模态中,更多的输入和选择,相同形式的成员。数据填充得很好。如果我修改了某些值,请关闭此第2个模态,然后再次打开它,保留修改后的值。

问题是,如果我提交表格(按钮位于第一个模态窗口),第二个模态中的输入不会被发布...

我错过了什么?不能这样做吗?我应该尝试使用某种形式的匹配,所以当第二个模态关闭时,第一个模态中的一些隐藏输入会被填充并且会被发布吗?

以下是代码的部分(部分):

    <form action="submit_modal_projects.php" method="post" class="form-horizontal">

    <fieldset> <!-- right column -->
        <fieldset class="bordered_fieldset" style="margin-left:10px;">
            <legend>Etape proiet</legend>
            <div class="control-group">
                <div class="controls controls-row">
                    <label for="" class="span3">Lancement projet Site compo - Site PF</label>
                    <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_obj']; ?>" name="lancement_projet_site_compo_site_pf_obj">
                    <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_est']; ?>" name="lancement_projet_site_compo_site_pf_est">
                    <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_reel']; ?>" name="lancement_projet_site_compo_site_pf_reel">

                    &nbsp;
                    <input type="checkbox">


                    <button class="demo btn btn-primary btn-mini" data-toggle="modal" href="#ajax-modal-<?php echo $row['id']; ?>">Detalii</button>

                    <!-- mini modal -->
                    <div id="ajax-modal-<?php echo $row['id']; ?>" class="modal hide fade" tabindex="-1" style="display: none; margin-top: -128.5px;" data-width="360">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                        <h3>Detalii suplimentare<?php echo $row_j['lancement_projet_site_compo_site_pf_obj_initial']; ?></h3>
                    </div>
                    <div class="modal-body">

                        <h5>Lancement projet Site compo - Site PF</h5>

                        <fieldset class="bordered_fieldset">
                         <legend>Fază replanificată</legend>
                         <div class="control-group">
                              <div class="controls controls-row">
                                   <label class="span1 text-center"></label>
                                   <label class="span1 text-center">Obj</label>
                                   <label class="span1 text-center">Est</label>
                                   <label class="span1 text-center">Reel</label>
                              </div>
                              <div class="controls controls-row">
                                   <label class="span1">Inițial:</label>
                                   <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_obj_initial']; ?>" name="lancement_projet_site_compo_site_pf_obj_initial" disabled>
                                   <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_est_initial']; ?>" name="lancement_projet_site_compo_site_pf_est_initial" disabled>
                                   <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_reel_initial']; ?>" name="lancement_projet_site_compo_site_pf_reel_initial" disabled>
                              </div>
                              <div class="controls controls-row">    
                                   <label class="span1">Propus:</label>
                                   <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_obj']; ?>" id="lancement_projet_site_compo_site_pf_obj_propus">
                                   <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_est']; ?>" id="lancement_projet_site_compo_site_pf_est_propus">
                                   <input type="text" class="span1" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_reel']; ?>" id="lancement_projet_site_compo_site_pf_reel_propus">
                         </div>
                         <div class="controls controls-row">
                              <label for="" class="span1">Motiv:</label>
                              <select class="span3" name="lancement_projet_site_compo_site_pf_motiv" id="lancement_projet_site_compo_site_pf_motiv">
                                   <option value="<?php echo $row_j['lancement_projet_site_compo_site_pf_motiv']; ?>"><?php echo $row_j['lancement_projet_site_compo_site_pf_motiv']; ?></option>
                                   <option value="alte optiuni"></option>
                                   <option value="Modification du planning par le client">Modification du planning par le client</option>
                                   <option value="Retard livraisons Matieres et Accessoires">Retard livraisons Matieres et Accessoires</option>
                                   <option value="Lead Time DQF Somarest">Lead Time DQF Somarest</option>
                                   <option value="Manque donnees techniques">Manque donnees techniques</option>
                                   <option value="Pas d'information du client">Pas d'information du client</option>
                                   <option value="Probleme de capacite SO">Probleme de capacite SO</option>
                                   <option value="KO (M,Proto,TDS)">KO (M,Proto,TDS)</option>
                                   <option value="KO Accessoires SO">KO Accessoires SO</option>
                                   <option value="KO Accessoires Client">KO Accessoires Client</option>
                                   <option value="KO Fournisseur">KO Fournisseur</option>
                                   <option value="Autres">Autres</option>
                              </select>
                         </div>
                         <div class="controls controls-row">
                              <label for="" class="span1">Detalii:</label>
                              <input type="text" class="span3" name="lancement_projet_site_compo_site_pf_detalii" id="lancement_projet_site_compo_site_pf_detalii" value="<?php echo $row_j['lancement_projet_site_compo_site_pf_detalii']; ?>">
                         </div>
                        </div>
                      </fieldset>
                    </div>
                    <div class="modal-footer">
                        <button class="btn update">Update</button>
                        <button type="button" data-dismiss="modal" class="btn">Close</button>
                        <button type="button" class="btn btn-primary">Ok</button>
                    </div>
                </div>

                </div>
            </div>

        </fieldset>
    </fieldset><!-- end right column -->

</form>

2 个答案:

答案 0 :(得分:1)

第二个模态窗口中的字段不在第一个模态的<form>元素内。我认为在模态中放置模态会破坏设计,因此解决方案是在提交之前使用javascript将其置于内部。

答案 1 :(得分:0)

您的网络工具展示了哪些内容?例如,通过查看Chrome中的开发人员工具,您可以在点击提交按钮时看到提交的内容。这适用于FF等。

如果表单提交未提交第二个模态的值,则意味着它们不会传递给第一个模态。在这种情况下,您自己回答了这个问题:在隐藏字段中将它们从modal2传递给modal1。你可以使用javascript来提交或者在提交事件上挂一个函数。

如果您的值已发布但您在服务器端没有看到它们,请确保您没有在某处过滤它们。