所以我有这个庞大的数据表,每一行都有自己的“编辑”按钮,可以打开一个模态窗口。在每个模态窗口中都有一个表单和一个提交按钮。它的效果很好。
现在是棘手的部分。
我使用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">
<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">×</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>
答案 0 :(得分:1)
第二个模态窗口中的字段不在第一个模态的<form>
元素内。我认为在模态中放置模态会破坏设计,因此解决方案是在提交之前使用javascript将其置于内部。
答案 1 :(得分:0)
您的网络工具展示了哪些内容?例如,通过查看Chrome中的开发人员工具,您可以在点击提交按钮时看到提交的内容。这适用于FF等。
如果表单提交未提交第二个模态的值,则意味着它们不会传递给第一个模态。在这种情况下,您自己回答了这个问题:在隐藏字段中将它们从modal2传递给modal1。你可以使用javascript来提交或者在提交事件上挂一个函数。
如果您的值已发布但您在服务器端没有看到它们,请确保您没有在某处过滤它们。