PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (7): [1] 2 3 4 5 6 7 »

> Найдено сообщений: 104
rasl89 Отправлено: 17 Марта, 2021 - 08:31:28 • Тема: Форма с добавлением полей • Форум: HTML, Дизайн & CSS

Ответов: 5
Просмотров: 1590
Vladimir Kheifets пишет:
rasl89 пишет:
но теперь просто тупо добавляет строчки

Это то, что Вы хотели?

нет, должны добавиться эти поля:
CODE (html):
скопировать код в буфер обмена
  1. <h3 class="h5 extra-bold" name="item1">Название серии</h3>
  2.         [text vidorev-submit-video-title]
  3.  
  4.         <h3 class="h5 extra-bold" name="item1">Код или ссылка видео</h3>
  5.         [textarea vidorev-submit-video-url]
  6. </div>
rasl89 Отправлено: 16 Марта, 2021 - 20:29:51 • Тема: Форма с добавлением полей • Форум: HTML, Дизайн & CSS

Ответов: 5
Просмотров: 1590
Vladimir Kheifets пишет:
rasl89 пишет:
что-то кнопка залипает и не работает.

Добрый день!
Как раз кнопку с id ("add") Вы в html не показали.
Можно предполжить, что js функция вызывается по клику по этой кнопке.
Верно?
В таких случаях нужно проверять "взаимотношения" детей с родителями.
Удачи!


нет, я просто не показал всю форму:
CODE (html):
скопировать код в буфер обмена
  1. <div ID="items">
  2.  
  3. <div class="vidorev-submit-post video-url">
  4. <h3 class="h5 extra-bold">Добавление серий или частей</h3>
  5.        
  6.  
  7.  
  8. <h3 class="h5 extra-bold" name="item1">Название серии</h3>
  9.         [text vidorev-submit-video-title]
  10.  
  11.         <h3 class="h5 extra-bold" name="item1">Код или ссылка видео</h3>
  12.         [textarea vidorev-submit-video-url]
  13. </div>
  14.  
  15. <input type="button" value="Добавить поле+" onClick="AddItem();" ID="add">
  16. </div>


подкорректировал JS:
CODE (javascript):
скопировать код в буфер обмена
  1.     <script>
  2.         var items=1;
  3.         button=document.getElementById("add");
  4.         button.onclick = AddItem;
  5.         function AddItem() {
  6.             div=document.getElementById("items");
  7.             items++;
  8.             newitem="<strong>Поле " + items + ": </strong>";
  9.             newitem+="\" size=\"45\"><br>";
  10.             newnode=document.createElement("span");
  11.             newnode.innerHTML=newitem;
  12.             div.insertBefore(newnode,button);
  13.         }
  14.     </script>


но теперь просто тупо добавляет строчки:
Поле 2: " size="45">
Поле 3: " size="45">
Поле 4: " size="45">
Поле 5: " size="45">
rasl89 Отправлено: 16 Марта, 2021 - 16:43:31 • Тема: Форма с добавлением полей • Форум: HTML, Дизайн & CSS

Ответов: 5
Просмотров: 1590
Всем привет.
Пытаюсь сделать форму, которая позволит мне добавлять поля для серий видео (название и код видео при помощи кнопки "добавить поле".

Реализацию начал, но что-то не работает:
форма:
CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. <div ID="items">
  4.  
  5. <h3 class="h5 extra-bold" name="item1">Название серии</h3>
  6.         [text vidorev-submit-video-title]
  7.  
  8.         <h3 class="h5 extra-bold" name="item1">Код или ссылка видео</h3>
  9.         [textarea vidorev-submit-video-url]
  10. </div>
  11.  


[text vidorev-submit-video-title], [textarea vidorev-submit-video-url] - мои подготовленные поля

js
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     <script>
  3.         var items=1;
  4.         function AddItem() {
  5.             div=document.getElementById("items");
  6.             button=document.getElementById("add");
  7.             items++;
  8.             newitem="<strong>Поле " + items + ": </strong>";
  9.             newitem+="<input ENGINE=\"text\" name=\"item" + items;
  10.             newitem+="\" size=\"45\"><br>";
  11.             newnode=document.createElement("span");
  12.             newnode.innerHTML=newitem;
  13.             div.insertBefore(newnode,button);
  14.         }
  15.     </script>
  16.  


что-то кнопка залипает и не работает.
rasl89 Отправлено: 11 Декабря, 2020 - 22:30:46 • Тема: Не инициируется функция • Форум: Вопросы новичков

Ответов: 8
Просмотров: 509
Строитель пишет:
rasl89 пишет:
Не работает( замучился, все вариации перебрал.
Вы хоть по ссылке посмотрели? А то там-то как раз рабочий пример опубликован, с ожидаемым результатом. Если у вас не работает заведомо рабочий пример, вы явно делаете что-то не так. На этом я покидаю тему.


да, конечно посмотрел, спасибо!
(Добавление)
он вроде как не полный
rasl89 Отправлено: 11 Декабря, 2020 - 22:20:50 • Тема: Не инициируется функция • Форум: Вопросы новичков

Ответов: 8
Просмотров: 509
Строитель пишет:
rasl89, то есть вы хотите сказать, что такой пример у вас не работает?


Не работает( замучился, все вариации перебрал.
$bidsumma приходит пустая в функцию, хоть тресни
rasl89 Отправлено: 11 Декабря, 2020 - 17:07:18 • Тема: Не инициируется функция • Форум: Вопросы новичков

Ответов: 8
Просмотров: 509
Строитель пишет:
rasl89 пишет:
я так и сделал

А надо было сделать наоборот - в объявлении функции передать необязательный аргумент
PHP:
скопировать код в буфер обмена
  1. dit_get_total_project_working($user_ID, $bidsumma=null){
  2.     //code
  3. }


так тоже не работает, если в инициации функции мы ставим:
$bidsumma=null, а в самой функции $bidsumma
начинает ругаться на другую функцию, которую я ранее указывал,
ошибки:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Fatal error: Uncaught ArgumentCountError: Too few arguments to function credit_get_total_project_working(), 1 passed in C:\Webserver\OSPanel\domains\sporim2\wp-content\plugins\fre-credit\functions.php on line 237 and exactly 2 expected in C:\Webserver\OSPanel\domains\sporim2\wp-content\plugins\fre-credit\functions.php on line 508
  2. ( ! ) ArgumentCountError: Too few arguments to function credit_get_total_project_working(), 1 passed in C:\Webserver\OSPanel\domains\sporim2\wp-content\plugins\fre-credit\functions.php on line 237 and exactly 2 expected in C:\Webserver\OSPanel\domains\sporim2\wp-content\plugins\fre-credit\functions.php on line 508


строка другой функции на которую ругается дебаггер (237 стр):
PHP:
скопировать код в буфер обмена
  1. $total_project_working = credit_get_total_project_working($user_id);


если и в инициации и в самой функции ставим $bidsumma=null, то $bidsumma не передается, но ошибки нет
rasl89 Отправлено: 10 Декабря, 2020 - 21:02:53 • Тема: Не инициируется функция • Форум: Вопросы новичков

Ответов: 8
Просмотров: 509
Строитель пишет:
rasl89 пишет:
как в функцию транслировать еще данные $bidsumma?
Передавайте $bidsumma вторым аргументом, а чтоб не возникло конфликтов с остальными вызовами этой функции, сделайте этот аргумент необязательным.


я так и сделал:
PHP:
скопировать код в буфер обмена
  1. credit_get_total_project_working($user_ID, $bidsumma);


а там где был конфликт:

PHP:
скопировать код в буфер обмена
  1. $total_project_working = credit_get_total_project_working($user_id, $bidsumma = null);


но это не помогло, переменная $bidsumma передает пустоту, но вне функции данные в ней есть
rasl89 Отправлено: 10 Декабря, 2020 - 19:57:55 • Тема: Не инициируется функция • Форум: Вопросы новичков

Ответов: 8
Просмотров: 509
Всем привет.
Такая проблема.
В некотором исполняемом файле подключаю файл и вызываю в нем функцию:

PHP:
скопировать код в буфер обмена
  1.         include_once ($_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/fre-credit/functions.php');
  2.         credit_get_total_project_working($user_ID);


Далее сама функция:
PHP:
скопировать код в буфер обмена
  1. function credit_get_total_project_working($user_ID){
  2.     global $bidsumma;
  3.  
  4.     if($_SERVER["REQUEST_METHOD"]=="POST"){
  5.         if (!empty($_POST["bid_budget"])){
  6.             $bidsumma = $_POST["bid_budget"];
  7.         }
  8.     }
  9.  
  10.     $total_project_working = 0 ;
  11.  
  12.     $total_project_working += $bidsumma;
  13.  
  14.     $list_project_working  = get_posts(array(
  15.         'post_type' => 'bid',
  16.         'author' => $user_ID,
  17.         'post_status' => array('disputing','accept','complete'),
  18.         'posts_per_page' => -1,
  19.     ));
  20.     if(!empty($list_project_working)){
  21.         foreach ($list_project_working as $v){
  22.             $payment_amount = 0 ;
  23.             $fre_paykey = get_post_meta($v->ID,'fre_paykey',true);
  24.             $history_status_transfer = get_post_meta($fre_paykey,'history_status',true);
  25.             if($history_status_transfer == 'pending'){
  26.                 $bid_budget = get_post_meta($v->ID,'bid_budget',true);
  27.                 $payer_of_commission = get_post_meta($v->ID,'payer_of_commission',true);
  28.                 if($payer_of_commission !='project_owner'){
  29.                     $commission_fee = get_post_meta($v->ID,'commission_fee',true);
  30.                     $payment_amount = $bid_budget - $commission_fee;
  31.                 }else{
  32.                     $payment_amount = intval($bid_budget);
  33.                 }
  34.             }
  35.  
  36.             $total_project_working += $payment_amount;
  37.  
  38.         }
  39.     }
  40.  
  41.     return $total_project_working;
  42. }


$user_ID передаю через функцию, а вот $bidsumma пытаюсь поймать постом.
не выходит, передать $bidsumma через функцию по типу:
PHP:
скопировать код в буфер обмена
  1. function credit_get_total_project_working($user_ID,$bidsumma )


не могу эта функция завязана еще и на другие процессы, начинают на это ругаться

как в функцию транслировать еще данные $bidsumma?

POST не ловится, НО я итак его уже ловлю в исполняемом файле где инициирую эту функцию, но ведь это не одноразовая переменная, почему не ловится в функции...
rasl89 Отправлено: 26 Октября, 2020 - 19:44:39 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
Vladimir Kheifets пишет:
rasl89 пишет:
Цитата:
PHP:
скопировать код в буфер обмена
  1.     if (isset($_POST['submittag']) && isset($_POST['addtags']))
  2.     {
  3.         $res = wp_set_post_tags(2414, $_POST['addtags'], true );
  4.             if(is_wp_error($res))
  5.             {
  6.                     $error_string = $res->get_error_message();
  7.                     echo $error_string;
  8.             }
  9.     }

так он ведь перезагрузит страницу я не увижу echo

Добрый день!
Вы показывали результа var_dump, который вставляли после if(isset($_POST['submittag'])...
Может быть и echo увидете?
Неплохо бы и $res посмотреть.
Покажите, пожалуйста, линк на Вашу страницу.
Удачи!


Цитата:
Вы показывали результа var_dump, который вставляли после if(isset($_POST['submittag'])...
Может быть и echo увидете?


показывало если в конце формы будет die, с echo такое не прокатывает

Цитата:
Покажите, пожалуйста, линк на Вашу страницу.

ок, загружу на поддомен, сейчас на локалке, скину ссылку
rasl89 Отправлено: 24 Октября, 2020 - 13:26:34 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
LIME пишет:
Строитель если бы тут был нормальный
(Добавление)
Vladimir Kheifets я уже понял что ты нормальный
давай учти
я много раз когдато помогал людям
теперь ты помогай
вызов)
(Добавление)
Строитель не выеживайся


ребят, может втроем поможете?
rasl89 Отправлено: 23 Октября, 2020 - 22:44:21 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
Цитата:
PHP:
скопировать код в буфер обмена
  1.     if (isset($_POST['submittag']) && isset($_POST['addtags']))
  2.     {
  3.         $res = wp_set_post_tags(2414, $_POST['addtags'], true );
  4.             if(is_wp_error($res))
  5.             {
  6.                     $error_string = $res->get_error_message();
  7.                     echo $error_string;
  8.             }
  9.     }


так он ведь перезагрузит страницу я не увижу echo
rasl89 Отправлено: 23 Октября, 2020 - 20:05:30 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
Vladimir Kheifets пишет:
LIME пишет:
Vladimir Kheifets пишет:
POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
и что? проверяется isset и неважно что там не работает переводчик
не то чините, фиксики))
но продолжайте, не отвлекаю
надо же не сдаваться))

isset проверяется, верно, но внутри черный ящик - функция wp_set_post_tags, которая должна добавлять tags, но не дабавляет.
А чтобы, добавить или изменить что-то в DOMе, предположительно, в этом черном ящике отработывает jQuery/Ajax.
Проверили, js эта пусташка не мешает.
Надо бурить дальше.
"Не сдаваться и доводить начатое до конца" - было написано для rasl89.

rasl89 пишет:
ничего не помогло(((

Вы писали, что метка добавилась с
Вам стало понятно, как это влияет на результат?
Посмотрели html?
Почему у Вас в wp_set_post_tags(2414,...) такой перый параметр?
Попробуйте посмотреть, что возвращает это функция.
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['submittag']) && isset($_POST['addtags']))
  2. {
  3.     $res = wp_set_post_tags(2414, $_POST['addtags'], true );
  4.         if(is_wp_error($res))
  5.         {
  6.                 $error_string = $res->get_error_message();
  7.                 echo $error_string;
  8.         }
  9. }
Удачи!

2414 - я просто напрямую вписал ID поста, чтобы в него записывались теги, можно там прописать $id и будет ид ткущего поста, это не критично
rasl89 Отправлено: 22 Октября, 2020 - 20:20:06 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
Vladimir Kheifets пишет:
LIME пишет:
бред какой-то
давно уже выяснили что POST нормально прилетает, а они все клиент ковыряют... не закончится это добром))

POST нормально НЕ прилетает см. var_dump 'submittag' => string '' (length=0)
прилетало номально, когда заменили
CODE (html):
скопировать код в буфер обмена
  1. <form class="post" method="post" target="_blank">
  2. .......
  3. .......
  4. <input type="submit" name="submin" value="Submit">

(Добавление)
rasl89 пишет:
их не так много,и вот что я нашел по отношению к этому:
селектор fre-post-project-next-btn
Спойлер (Отобразить)

селектор fre-btn
Спойлер (Отобразить)

Добрый день!
По первому фрагменту. Селектор .fre-post-project-next-btn не работает (стр. 1-12 закомментированы).
По второму фрагменту с BlockUi. Обратите внимание на
CODE (javascript):
скопировать код в буфер обмена
  1. form.find('input, textarea').each(function() {
  2. data[$(this).attr('name')] = $(this).val();
  3. });

в 'input, textarea' не хватает button.
Поэтому "POST прилетает" с 'submittag' => string '' (length=0)
Попробуйте изменить так
CODE (javascript):
скопировать код в буфер обмена
  1. form.find('input, textarea, button').each(function() {
Удачи!


ничего не помогло(((
rasl89 Отправлено: 19 Октября, 2020 - 19:26:30 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
Цитата:
Его нужно посмотреть в консоле браузера(не в закладке html).
Попробуйте в Chrome.

так я же смотрел, скрин вложил
(Добавление)
Что касаемо:
Цитата:
Затем проверить селекторы в jQuery, которые могут влиять на результат.
Обратите внимание на соответствие названия классов в html тэгах и в селекторax jQuery.

их не так много,и вот что я нашел по отношению к этому:
селектор fre-post-project-next-btn
CODE (javascript):
скопировать код в буфер обмена
  1.                 // $('.fre-post-project-next-btn').on('click', function(ev) {
  2.                 //      ev.preventDefault();
  3.                 //      var target = ev.currentTarget;
  4.                 //      $(target).closest('.fre-post-project-step').removeClass('active');
  5.                 //      $(target).closest('.fre-post-project-step').next().addClass('active');
  6.                 // });
  7.                 // $('.fre-post-project-previous-btn').on('click', function(ev) {
  8.                 //      ev.preventDefault();
  9.                 //      var target = ev.currentTarget;
  10.                 //      $(target).closest('.fre-post-project-step').removeClass('active');
  11.                 //      $(target).closest('.fre-post-project-step').prev().addClass('active');
  12.                 // });


селектор fre-btn
CODE (javascript):
скопировать код в буфер обмена
  1.                         submitGDPR: function(event){
  2.                                 event.preventDefault();
  3.                                 var form = $(event.currentTarget),
  4.                                         data = {},
  5.                                         button = form.find('.fre-btn'),
  6.                                         blockUi = new AE.Views.BlockUi(),
  7.                         view = this;
  8.  
  9.                     form.find('input, textarea').each(function() {
  10.  
  11.                        data[$(this).attr('name')] = $(this).val();
  12.  
  13.                     });
  14.                     $.ajax({
  15.                     type: "post",
  16.                     url: ae_globals.ajaxURL,
  17.                     dataType: 'json',
  18.                     data: {
  19.                         data: data,
  20.                         action: 'ae-submit-gdpr',
  21.                     },
  22.                     beforeSend: function () {
  23.                         blockUi.block(button);
  24.                         form.addClass('processing');
  25.                     },
  26.                     success: function (data, status, xhr) {
  27.  
  28.                         blockUi.unblock();
  29.  
  30.                         if (data.success) {
  31.                                 AE.pubsub.trigger('ae:notification', {
  32.                                 msg: data.msg,
  33.                                 notice_type: 'success'
  34.                             });
  35.                         } else{
  36.                                 AE.pubsub.trigger('ae:notification', {
  37.                                 msg: data.msg,
  38.                                 notice_type: 'error'
  39.                             });
  40.                         }
  41.                     }
  42.                 });
  43.                     return false;
  44.                         },
rasl89 Отправлено: 18 Октября, 2020 - 21:50:47 • Тема: Не работает функция в форме • Форум: Вопросы новичков

Ответов: 54
Просмотров: 2654
Цитата:
С 'submittag' => string '' (length=0) не понятно. Вы заменяли в кнопке функцию на строку "Submit Project"?


заменял, никакого эффекта

Цитата:
Попробуйте оставить только die. Влияет, то что это функция эквивалентна exit - обе прерывают выполнение php-кода.
Посмотрите html в консоле браузера.


ничего не фиксируется, выложил скрин фиксации без die, это все что зафиксировалось

Страниц (7): [1] 2 3 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB