2013-09-17 3 views
0

Итак, у меня есть эта огромная таблица с данными, каждая строка имеет свою собственную кнопку «edit», которая открывает модальное окно. В каждом из этих модальных окон есть форма и кнопка отправки. Это прекрасно работает.Значения элементов формы не публикуются, если внутри мода

Теперь наступает сложная часть.

Я добавил второй слой, используя bootstrap-modal, второй модальный поверх первого. Внутри этого модального, большего количества входов и выходов, членов той же формы. Данные заполняются красиво. Если я изменю некоторые значения, закройте этот второй модальный модуль и снова откройте его, сохранив измененные значения.

Проблема заключается в том, что если я отправить форму (кнопка находится на 1-ом окне модальный) входы в 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> 
+0

Я рекомендую вам иметь функцию в вашем первом модальном окне, на которое вы отправите измененные значения из второго модального окна и либо a; хранить их в массиве со своими идентификационными ключами или b; отправьте их с помощью ajax-сообщения и динамически обновите значения. , , , Я мог бы дать вам некоторый код для работы, но это будет сложно помещать в контекст, так как вы не указали какой-либо код в своем вопросе. – pythonian29033

+0

Я пробовал с некоторыми Ajax, но я застрял. Я не программист ... Вот код: http://jsfiddle.net/JG6Z3/ Это грязно, я знаю. Считаю, что это работает. –

ответ

1

Поле во втором окне модального не внутри <form> элемента первого модального. Я думаю, что установка модального внутри модала нарушила бы дизайн, поэтому решение было бы использовать javascript, чтобы разместить его непосредственно перед отправкой.

+0

Я так и думал ... так что я должен использовать 2 формы? –

+0

Возможно. Все зависит от структуры вашего html. Возможно, вы можете поместить оба ваших модала в один

Marek

+0

Вот как они сейчас, проверьте код, который я вставил в ... –

0

Что показывает ваш сетевой инструмент для публикации? Вы можете увидеть, что будет отправлено, когда вы нажмете кнопку отправки, например, проверив инструменты разработчика в Chrome. Это работает в FF и так далее.

Если ваши значения из 2-го модала не представлены в форме submit, это означает, что они не передаются 1-му модальному. В этом случае вы сами ответили на вопрос: передайте их из modal2 в modal1 в скрытые поля. Вы можете сделать это с помощью javascript прямо перед отправкой или путем подвешивания функции на событии отправки.

Если ваши значения опубликованы, но вы не видите их на стороне сервера, убедитесь, что вы их не фильтруете.

+0

Я подключил функцию к кнопке увольнения на втором модуле, но каким-то образом она не копирует значение на другой вход ... 'функция MiniME() \t { \t \t $ ('# клон'). Нажмите (функция() { \t \t \t $ ('# clone_input'). Вал ($ ('# ввод'). Вал ()); \t \t}); \t} ' –

+0

Это поможет получить некоторые фактические фрагменты html. Если вы подключили функцию miniMe к кнопке, она только прикрепляет анонимную функцию к щелчку события #clone, никакого реального клонирования и присвоения значения не будет. – Marek

+0

Вот что-то лишило: http://jsfiddle.net/Ygdyu/ Можете ли вы немного рассказать об этой анонимной функции? –

Смежные вопросы