v2.5.2
Giriş yap

Append kısmında PHP çalıştırma

resat
326 defa görüntülendi

Merhaba arkadaşlar, bir formum var ve ekle butonu ile formu kopyalıyorum. Fakat js kısmında php kodları çalıştıramadım. Yardımcı olabilecek arkadaş varmıdır acaba.

            <div class="card card-bordered">
                <div class="card-inner">
                    <button id="ekle" class="btn btn-primary w-100 mb-3">Ekle</button>
                    <form action="inc/post" method="POST">
                        <div id="veriler">
                          <div id="icerik" class="row">
                             <div class="col-md-4">
                                <select name="stok_urun" id="stok_urun" class="form-select" data-search="on" required>
                                    <option></option>
                                    <?php foreach ($urunsor as $cek): ?>
                                        <option value="<?=$cek['urun_id']?>"><?=$cek['urun_ad']?> - <?=$cek['urun_renk']?></option>
                                    <?php endforeach ?>
                                </select>
                            </div>
                            <div class="col-md-3">
                              <input type="text" class="form-control mb-1" name="telefon[]" placeholder="Telefon Numaranız">
                          </div>
                          <div class="col-md-3">
                              <input type="text" class="form-control mb-1" name="miktar[]" placeholder="Telefon Numaranız">
                          </div>
                          <div class="col-md-2">
                              <button id="cikar" class="btn btn-light w-100">Çıkar</button>
                          </div>
                      </div>
                  </div>
                  <button class="btn btn-dark w-100 mt-2">Kaydet</button>
              </form>
          </div>
      </div>
<script type="text/javascript">
  $(function(){
    $('#ekle').click(function(){
        $('#veriler').append($('<div id="icerik" class="row"><div class="col-md-4"><select name="stok_urun" id="stok_urun" class="form-select" data-search="on" required><option></option><?php foreach ($urunsor as $cek): ?><option value="<?=$cek['urun_id']?>"><?=$cek['urun_ad']?> - <?=$cek['urun_renk']?></option><?php endforeach ?></select></div><div class="col-md-3"><input type="text" class="form-control mb-1" name="telefon[]" placeholder="Telefon Numaranız"></div><div class="col-md-3"><input type="text" class="form-control mb-1" name="miktar[]" placeholder="Telefon Numaranız"></div><div class="col-md-2"><button id="cikar" class="btn btn-light w-100">Çıkar</button></div></div>'));
  });

    $('body').on('click', '#cikar', function(e){
      $(this).parents('#icerik').remove();  
      e.preventDefault();
  })

});
</script>
Cevap yaz
Cevaplar (3)
ebykdrms
836 gün önce

@resat, nasıl bir sorunla karşılaştın? Mesela options değişkenini console.log(options) diyerek yazdığıp içinin nasıl dolduğuna bakabiliriz.

resat
837 gün önce

@ebykdrms malesef çalıştıramadım hocam.

ebykdrms
837 gün önce

JS dosyasında PHP komutu çalıştıramazsınız.
Ama PHP ile oluşturduğunuz içeriği php uzantılı dosyanızda bir js değişkenine atadıktan sonra js uzantılı dosyanızdan çağırabilirsiniz.
Örnek:
index.php

<script>
    let options = "<option></option>";
    <?php foreach ($urunsor as $cek): ?>
        options += '<option value="<?=$cek['urun_id']?>"><?=$cek['urun_ad']?> - <?=$cek['urun_renk']?></option>';
    <?php endforeach ?>
</script>
<script src="js-dosyaniz.js"></script>

js-dosyaniz.js

$(function(){
    $('#ekle').click(function(){
        $('#veriler').append($('\
            <div id="icerik" class="row">\
                <div class="col-md-4">\
                    <select name="stok_urun" id="stok_urun" class="form-select" data-search="on" required>'+options+'</select>\
                </div>\
                <div class="col-md-3">\
                    <input type="text" class="form-control mb-1" name="telefon[]" placeholder="Telefon Numaranız">\
                </div>\
                <div class="col-md-3">\
                    <input type="text" class="form-control mb-1" name="miktar[]" placeholder="Telefon Numaranız">\
                </div>\
                <div class="col-md-2"><button id="cikar" class="btn btn-light w-100">Çıkar</button></div>\
            </div>\
        '));
    });

    $('body').on('click', '#cikar', function(e){
        $(this).parents('#icerik').remove();  
        e.preventDefault();
    });
});