Задать вопрос
  • Как очищать модальное окно при вызове через ajax?

    zmrzjke
    @zmrzjke
    uwu79, потому что ты в модальное $("#ajax_form") вставляешь это же модальное целиком в секущем состоянии $("#ajax_form").html( $("#ajax_form").html() ) т.е. выходит так что модальное окно перезаписывается в себя же, а потом к нему присобачиваются input поля.

    Т.е. было
    <form id="ajax_form" action="" method="post">
       <div class="modal-footer">
          <button type="submit" id ="btn_edit" class="btn btn-primary">Сохранить</button>
       </div>
    </form>


    а после первой "перезаписи" стало

    <form id="ajax_form" action="" method="post">
       <div class="update_block">
           //Сюды будет впихиать пришедшие данные
       </div>
       <div class="modal-footer">
          <button type="submit" id ="btn_edit" class="btn btn-primary">Сохранить</button>
       </div>
    </form>
      <div class="mb-3">
        <label for="recipient-name" class="col-form-label">ФИО:</label>
        <input type="text" name="fio" value='+data.fio+' class="form-control " id="recipient-name">
      </div>


    Во второй итерации, в модальное окно опять себя перезаписывает, но в нем уже имеются поля после первой итерации. И на второй раз добавляются уже по новой поля, при этом сохраняются старые. И результат будет уже вот такой

    <form id="ajax_form" action="" method="post">
       <div class="update_block">
           //Сюды будет впихиать пришедшие данные
       </div>
       <div class="modal-footer">
          <button type="submit" id ="btn_edit" class="btn btn-primary">Сохранить</button>
       </div>
    </form>
      <div class="mb-3">
        <label for="recipient-name" class="col-form-label">ФИО:</label>
        <input type="text" name="fio" value='+data.fio+' class="form-control " id="recipient-name">
      </div>
      <div class="mb-3">
        <label for="recipient-name" class="col-form-label">ФИО:</label>
        <input type="text" name="fio" value='+data.fio+' class="form-control " id="recipient-name">
      </div>


    и так по нарастающей
    Написано
  • Как очищать модальное окно при вызове через ajax?

    zmrzjke
    @zmrzjke
    uwu79, ты после запроса пытаешься вставить в модальное окно все старые данные из модального окна + новые данные, т.е. твои поля вставляются уже после закрывающего тега form, так как заново впихиваешь ВСЮ форму, а затем новые поля. Плюс при повторном запросе, они начинают нарастать друг на друге. После from отшельнеческий закрывающий тег div. Если прям вот вынь выложь нужно добавлять инпуты после запроса, то хотя бы добавь обертку для вставляемых данных и именно эту обертку и перезаписывай.
    <form id="ajax_form" action="" method="post">
       <div class="update_block">
           //Сюды будет впихиать пришедшие данные
       </div>
       <div class="modal-footer">
          <button type="submit" id ="btn_edit" class="btn btn-primary">Сохранить</button>
       </div>
    </form>


    let af = $("#ajax_form");
    
    af.find('.update_block').html(
    '<div class="mb-3">'
    +'<label for="recipient-name" class="col-form-label">ФИО:</label>'
    +'<input type="text" name="fio" value='+data.fio+' class="form-control " id="recipient-name">'
    +'</div>'
    );


    Но если прям вообще ничего нельзя менять в исходнике, то может быть вот так
    let af = $("#ajax_form");
    let m = af.find('.modal-footer');
    
    m.children().not('button').remove();
    m.prepend(
    '<div class="mb-3">'
    +'<label for="recipient-name" class="col-form-label">ФИО:</label>'
    +'<input type="text" name="fio" value='+data.fio+' class="form-control " id="recipient-name">'
    +'</div>'
    );

    Хотя это извращение какое-то
    Написано
  • Как очищать модальное окно при вызове через ajax?

    zmrzjke
    @zmrzjke
    uwu79, а вторая форма обернута в тег form? И если обе модалки находятся на "одной странице", то они имеют разные id?
    Написано
  • Как сделать 301 редирект для сайта с поддоменами?

    zmrzjke
    @zmrzjke Автор вопроса
    Виктор Таран, опять же, данное правило (2) сработает только если вручную прописать для каждого из 200 поддоменов. Оно, увы не универсально и не подходит под шаблон *.old-site.ru => *.new-site.ru. Поправьте если я не прав.