Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 24 Ответов
  • 2078 Просмотров
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
вот кусок макета файла address.php в шаблоне JS
Код
 <?php if ($config_fields['city']['display']){?>
                <div class = "control-group">
                    <div class = "control-label name align-fields">
                    <?php print _JSHOP_CITY ?> <?php if ($config_fields['city']['require']){?><span class="star">*</span><?php } ?>
                    </div>
                    <div class = "controls align-fields">
                  <!--<select id="city" name="city" value = "<?php echo '<span id="text">Select option</span>' ?>" class = "input" ></select>-->
                   <input type = "text" name = "city" id = "city" value = "<?php print $this->user->city ?>" class="input" />
                    </div>
                </div>

 <!--<select id="city" name="city" value = "<?php echo '<span id="text">Select option</span>' ?>" class = "input" ></select>--> - Вот этот закоментированный код работает  - только в бд отправляет не текст,  а value
вот скрипт с помощью которого получаю список городов
Код
<script>
    // load cities
   
    $("#city").load( "file.php" );

   // get warehouses
    $('#city').change(function(){
        var wh = $(this).val();

        $.ajax({
       
            url : 'file.php',
            type : 'POST',
            data : {
                'warehouses' : wh,
            },
            success : function(data) {
                $('#ext_field_1').html(data);
            },
            error : function(request,error)
            {
                $('#warehouses').html('<option>-</option>');
            }
        });
    })
</script>

При нажатии на выбор города в форме заказа - все работает, список открывается и поле соотвественно заполняется. Но есть проблема при отправке заказе в базу данных записывается не название города,  а  значение атрибута value c option. Соотвественно текст (название города) и value  не совпадает (value -это код города). Как мне отправить в БД текст с option , а не value?
« Последнее редактирование: 14.06.2018, 17:38:44 от Qverty2012 »
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Подскажите что нужно изменить
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Добавлю скриншот для ясности
https://ibb.co/mT3b4d

К примеру вместо название Авангард в базу попадает значение value
« Последнее редактирование: 15.06.2018, 09:29:09 от Qverty2012 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Код
var wh = $( "#city option:selected" ).text();
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Код
<?php if ($config_fields['city']['display']){?>
                <div class = "control-group">
                    <div class = "control-label name align-fields">
                    <?php print _JSHOP_CITY ?> <?php if ($config_fields['city']['require']){?><span class="star">**</span><?php } ?>
                    </div>
                    <div class = "controls align-fields">
               <select id="city" name="city" value = "<?php print $this->user->city ?>" class = "input" ></select>
               <!--<span id="text">Select option</span> -->
                   <!--<input type = "text" name = "city" id = "city" value = "<?php print $this->user->city ?>" class="input" />-->
           
                </div>
                </div>

Код
<script>
    // load cities
    $(document).ready(function() {
    $("#city").load( "file.php" );

    $('#city').change(function() {
        var wh = $( "#city option:selected" ).text();
    });

   // get warehouses
    $('#city').change(function(){
        // var wh = $(this).val();
   
     
        $.ajax({
       
            url : 'file.php',
            type : 'POST',
            data : {
                'warehouses' : wh,
            },
            success : function(data) {
                $('#ext_field_1').html(data);
            },
            error : function(request,error)
            {
                $('#warehouses').html('<option>-</option>');
            }
        });
    })
})
</script>

в записи БД город - 06f8796e-4079-11de-b509-001d92f78698
не работает. где ошибка?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
для чего вы сделали это
Код
$('#city').change(function() {
        var wh = $( "#city option:selected" ).text();
});
? надо было просто заменить var wh
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Еще раз пож - что заменить?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
то что вы закомментировали
Код
var wh = $(this).val();
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
заменил. не помогло
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
jquery -действительно отрабатывает -  получаю переменную имя города, но в базу пишет value
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну значит когда в базу пишет берет совсем из другого места данные, а не тот warehouses который вы передаете
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Warehouse это поле ниже, сейчас передаём поле - city. Я тоже не пойму этого прикола - если берет данные с другого место то откуда?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
Warehouse это поле ниже, сейчас передаём поле - city.
передаете вы warehouses
Код
data : {
    'warehouses' : wh,
},

Цитировать
Я тоже не пойму этого прикола - если берет данные с другого место то откуда?
это ваш скрипт, или чей? :) нам то откуда знать, откуда он берет данные когда в базу пишет? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Закоментировал  warehouse в скрипте - сейчас вместо input простой select

Код
<script>
    // load cities
    $(document).ready(function() {
    $("#city").load( "file.php" );
   
    $('#city').change(function(){
        $("#text").text($("#city option:selected" ).text());
        // var wh = $(this).val();
     
   
     
        // $.ajax({
       
        //     url : 'file.php',
        //     type : 'POST',
        //     data : {
        //         'warehouses' : wh,
        //     },
        //     success : function(data) {
        //         $('#ext_field_1').html(data);
        //     },
        //     error : function(request,error)
        //     {
        //         $('#warehouses').html('<option>-</option>');
        //     }
        // });
    });
});

</script>

Код
<?php if ($config_fields['city']['display']){?>
                <div class = "control-group">
                    <div class = "control-label name align-fields">
                    <?php print _JSHOP_CITY ?> <?php if ($config_fields['city']['require']){?><span class="star">**</span><?php } ?>
                    </div>
                    <div class = "controls align-fields">
               <select id="city" name="city" value = "<?php print $this->user->city ?>" class = "input" ></select>
               
               <p><span id="text"></span></p>

Вот сюда <p><span id="text"></span></p> получаю значение точно такое как в поле select
« Последнее редактирование: 15.06.2018, 11:09:31 от Qverty2012 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
я видимо чего то не понимаю... это все понятно, что вы показываете. а где сам скрипт сохранения в базу? и как именно вы его вызываете?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Редактирую только макет! вместо input  -> select . Меняю select на input  - работает как и все остальные инпуты - берет значение с формы и записывает в БД
« Последнее редактирование: 15.06.2018, 11:15:59 от Qverty2012 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну так потому что в инпуте у вас value это название, а в селекте value это код. не могу просто понять что вы не поймете. все логично, что не так? сделайте чтобы в селекте value было как название, и с селектом тоже работать будет как с инпутом
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Все правильно. Тогда поправьте меня с синтаксисом - для теста уже проверял
<select id="city" name="city" value = "<?php echo "123" ?>" class = "input" ></select>
в БД должна быть запись - 123 - правильно?
вместо 123  - снова код города
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
в БД должна быть запись - 123 - правильно?
нет, неправильно. у самого select вообще нет value, value есть только у его option, которая может быть выбрана, и тогда value выбранной option будет передан на сервер.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
 сделайте чтобы в селекте value было как название

файл приходит через АПИ карго компаниии - это они прописывают в value код города. Редактировать его нереально
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну значит вообще уберите у селекта name="city", а сделайте input type="hidden" name="city", и при смене значения селекта пишите яваскриптом в этот инпут value название города
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Подскажите как с яваскрипта передать переменную в php?
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
как с яваскрипта передать переменную в php
Вот инфа
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Что-то не могу понять как ее передать
« Последнее редактирование: 17.06.2018, 16:17:53 от Qverty2012 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться