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

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
« Последнее редактирование: 10.06.2019, 13:06:27 от varX »
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

tem1701

  • Новичок
  • 5
  • 0 / 0
Приветствую, подскажите пожалуйста, как можно к кнопке "отправить" (submit)
$row.='<div class="qfsubmit"><label></label><input name="btn" type="button" value="'.$m[0].'" onclick="qfsubmit(this)"></div>';

добавить цель Яндекс метрики
Например такой: onclick="yaCounterXXXXXX.reachGoal('ORDER'); return true;"
чтобы метрика получала статистику при клике или отправке формы, а то сайт перестает отображаться...
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Попробуйте так
onclick="yaCounterXXXXXX.reachGoal('ORDER'); qfsubmit(this);"
А вообще, тут предлагал кто-то вставку в сепаратор несколько страниц назад.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

tem1701

  • Новичок
  • 5
  • 0 / 0
Спасибо за ответ! Но не работает, страницы с формой отключаются.
Может, не туда подставляю??

function buildSubmit($pat,$row='') {
preg_match('/([^"]+)(?=" class="inp_sel")/', $pat, $m);
$row.='<div class="qfsubmit"    >   <label></label>   <input  name="btn"   type="button"  onclick="yaCounter38219255.reachGoal('ORDER'); qfsubmit(this);" value="'.$m[0].'" onclick="qfsubmit(this)"   >     </div>';
return $row;
}
без onclick="qfsubmit(this)" тоже не работает

Пробовал вариант с сепаратором, до и после кнопки, форма работает но в метрику стат.не попадает.
<script>
$('button[name="btn"]').on('click', function(e){
e.preventDefault();
setTimeout( ga('send', 'event', 'AvtoFocus', 'AvtoLoad'), 30000);
      ga('send', 'event','button','click','ORDER');
      ga('send', 'pageview', '/ORDER');
      yaCounter38219255.reachGoal('ORDER');

});
</script>

У нас сайт Бух. Услуг там более 20 форм будет, регистрация ООО, ИП итд, очень хочется метрику настроить.
Может еще какой способ есть?
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Я, к сожалению, не интересовался Яндекс метрикой, не знаю, как она работает. Вполне возможно, что формы с AJAX подгрузкой (если вы используете зависимые поля), метрика в принципе не может отслеживать. Также не совсем понятно, она должна срабатывать при клике на сабмит, как вы хотите, или при загрузке страницы (т.к. вы пишите, что страницы отключаются). В любом случае, проще читать форум метрики.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

beniki

  • Новичок
  • 3
  • 0 / 0
Не подскажете в чем может быть проблема, добавил поле file, при попытке отправить сообщение без прикрепленного файла пишет:
1 COULD NOT ACCESS FILE:
*

Olg

  • Завсегдатай
  • 1170
  • 88 / 2
А это поле вы случаем не сделали обязательным?
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Здравствуйте все.
подскажите следующий момент по зависимым полям.
Посетитель на форме заказов выбирает размер штампа из стандартных значений:
26х9
38х14
47х18 и т.д.

далее следует поле:
Выберите оснастку:
Ручная
Автоматическая

 ручная (она идет бесплатно и поэтому наценка =0)
 автоматическая - она увеличивает стоимость на некоторую величину.

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

Например выбраны:
штамп 26х9 (200 руб)

Оснастка Автоматическая (автоматом прибавилось 100 руб для данного размера)

Если будет выбран иной размер штампа, то стоимость Автоматической оснастки должна быть изменена.

пока вижу выход, в создании для каждого типа размера отдельной формы с оснастками, отличающимися только стоимостью автоматических оснасток.
нет ли более простого выхода?

Спасибо.
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Если стоимость оснастки зависит линейно от размера штампа, можно использовать умножение, например - *1.5. если зависимость произвольна, тогда проще сделать отдельные подформы для каждого размера штампа. Без правки скрипта, внедрить матрицу данных проще не получится.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
спасибо.
еще вопрос. а нет ли кнопки Очистить форму?
может в будущих версиях предусмотрите
*

beniki

  • Новичок
  • 3
  • 0 / 0
А это поле вы случаем не сделали обязательным?
Разницы нет делал и обязательным и нет все равно при попытке отправить сообщение без прикрепленного файла, перезагружает страницу и пишет 1 COULD NOT ACCESS FILE: GO BACK HOME, в заголовке страницы во кладке браузера написано: 1- Ошибка: 1
« Последнее редактирование: 18.07.2016, 03:56:49 от beniki »
*

FarBeyond

  • Новичок
  • 1
  • 0 / 0
Спасибо за ответ! Но не работает, страницы с формой отключаются.
Может, не туда подставляю??

function buildSubmit($pat,$row='') {
preg_match('/([^"]+)(?=" class="inp_sel")/', $pat, $m);
$row.='<div class="qfsubmit"    >   <label></label>   <input  name="btn"   type="button"  onclick="yaCounter38219255.reachGoal('ORDER'); qfsubmit(this);" value="'.$m[0].'" onclick="qfsubmit(this)"   >     </div>';
return $row;
}
без onclick="qfsubmit(this)" тоже не работает

Пробовал вариант с сепаратором, до и после кнопки, форма работает но в метрику стат.не попадает.
<script>
$('button[name="btn"]').on('click', function(e){
e.preventDefault();
setTimeout( ga('send', 'event', 'AvtoFocus', 'AvtoLoad'), 30000);
      ga('send', 'event','button','click','ORDER');
      ga('send', 'pageview', '/ORDER');
      yaCounter38219255.reachGoal('ORDER');

});
</script>

У нас сайт Бух. Услуг там более 20 форм будет, регистрация ООО, ИП итд, очень хочется метрику настроить.
Может еще какой способ есть?

Не забудьте перед кавычками у слова ORDER поставить \, у вас просто напросто не соблюдаются правила парсинга.

Или в ЛС.
*

x1

  • Давно я тут
  • 617
  • 15 / 0
  • Linux — это Windows для бытовой техники
cloner у всех работает? У меня - нет, выдает ошибку при открытии формы quickform.js (line 4)

Цитировать
TypeError: window.addEvent is not a function
window.addEvent('domready', function() {

и ошибку при попытке добавить файл quickform.js (line 212):
Код
TypeError: x.parentNode.parentNode.getElements is not a function
if(m&&m<=x.parentNode.parentNode.getElements('.qfcloneone').length)return;

Без clone форма работает без ошибок.
« Последнее редактирование: 21.07.2016, 16:04:07 от x1 »
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Такая ошибка, обычно, обозначает, что не подключен mootools.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

x1

  • Давно я тут
  • 617
  • 15 / 0
  • Linux — это Windows для бытовой техники
Такая ошибка, обычно, обозначает, что не подключен mootools.

Ого! У меня он выключен. Так его же специально выключают, насколько я понимаю, что бы не было крнфликтов с jQuery?
Как тогда сделать, что бы mootools подгружался только на странице с формой?
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Ого! У меня он выключен. Так его же специально выключают, насколько я понимаю, что бы не было крнфликтов с jQuery?
Как тогда сделать, что бы mootools подгружался только на странице с формой?
Выводите его в плагине или модуле компонента, смотря что вы используете.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Lrad

  • Захожу иногда
  • 57
  • 0 / 0
Подскажите как отключить стили форм, чтобы они не загружались.
В каком файле править?
Спасибо

=======
Нашел сам.
Насколько корректно закомментировать строчки
Код
//$doc->addStylesheet(JURI::root(true)."/components/com_quickform/css/".$this->rowOld->qfcss);
//$doc->addScript(JURI::root(true)."/components/com_quickform/js/quickform.js");
И файл скрипта подключить в конце body?
« Последнее редактирование: 27.07.2016, 18:52:52 от Lrad »
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Не думаю, что это хорошая идея - отключать скрипты. По крайней мере, js точно не нужно трогать.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
а как можно сделать в поле textcalc значение по умолчанию 1. Сейчас 0
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Без правки кода никак. Будет новая версия, можно будет вводить дефолтные значения.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

rhjirftyjn

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
тогда в новой версии может предусмотрите категории для форм.
а то связанные формы приходится выискивать среди всех форм, неудобно.
и кнопку "Очистить форму"
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Хорошо. Все формы будут разбиты по проектам. Добавлю все элементы форм, включая HTML5. Им можно будет назначить любые доступные для них атрибуты. Зависимые поля будут распространены, кроме select и radio, еще на checkbox.

javascript перепишу с mootools на jquery. В математику калькулятора добавлю скобки. Если вложусь по времени, дополнительно сделаю поддержку произвольных формул с любой логикой и выводом нескольких результатов.

Сепараторы можно будет отображать в форме, письме или везде - на выбор. Наверно, и для остальных полей такое сделаю. Для клонируемых строк и radio можно будет указать вертикальное или горизонтальное положение.

Работа стартовала. Пишите пожелания. Выпуск ориентировочно - конец августа.


Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Olg

  • Завсегдатай
  • 1170
  • 88 / 2
Повторю старое пожелание: сделать возможность загонять список в select (пример -- стандартный выбор страны из всех стран мира; сейчас организовать такой выбор -- удавиться :)).
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Повторю старое пожелание: сделать возможность загонять список в select (пример -- стандартный выбор страны из всех стран мира; сейчас организовать такой выбор -- удавиться :)).
Не очень понял.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Olg

  • Завсегдатай
  • 1170
  • 88 / 2
Простая ситуация: регистрационная форма, в которой пользователь должен выбрать из select страну своего рождения. Сейчас для создания в админке такого select надо последовательно ввести все двести с лишком названий и значений (для всех стран мира). Около года назад вы в этой теме мне ответили, что в текущей версии компонента не предусмотрена возможность для select импортировать имеющийся список пар "название--значение".
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
И откуда этот "загоняемый" список должен браться?
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

DzSoft

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Можно ли изменить
Код: php
	function buildRadio($pat,$row='') {
static $a=1;
$i=0;
preg_match('/([^"]+)(?=" class="inp_sel")/', $pat, $m);
$row.='<div class="qfradio"><label>'.$m[0].'</label><br>';
$opts=explode('</div><div>',$pat);
$name='r'.$this->id.'_'.$a;$n=0;$a++;
foreach($opts as $opt) {
$value='';
// if($this->rowOld->calc) {
$vals=explode('input',$opt);
foreach($vals as $val){
if(strpos($val,'opt_modifer'))$value.=$val{strpos($val,'value="')+7};
}

preg_match('/([^"]+)(?=" class="opt_price)/', $opt, $o);
$value.=trim($o?$o[0]:'');
// }

$cl = '';
if(strpos($opt,'inp_svz')){
preg_match('/([^"]+)(?=" class="inp_svz)/', $opt, $o);
$cl =' class="qfsvz_'.trim($o?$o[0]:'').'"';
}

preg_match('/([^"]+)(?=" class="inp_opt")/', $opt, $m);
$row.=$m[0].'<input type="radio" name="'.$name.'" value="'.$i.'_'.$value.'" '.(!$n?'checked="checked"':'').$cl.'>';
$n++;
$i++;
}
$row.='</div>';
return $row;
}

Что бы можно было сделать http://wordsmall.ru/html-i-css/chekboksycheckbox-i-radioknopkiradiobottom.html

Если я правильно понял ваш код то, внутри тега <label></label> , а '.$m[0].' - это название строки под или рядом с которыми будет расположен чекбокс.
Грубо говоря:
<div class="qfradio"><label>Формат</label><br>А<input type="radio" name="r0" value="0_+0" checked="checked">Б<input type="radio" name="r0" value="1_+0"></div>
Возможно ли изменить код что бы прописать свои стили. Пример кода на выходе:
Код: css
.rabs input[type="radio"] {
display: none;
}
.rabs label {
background: #ffffff;
border: 1px solid #ddd;
color: #999;
display: inline-block;
font-family: Arial;
font-size: 16px;
margin: 18px;
padding: 6px 12px;
cursor:pointer;
-moz-box-shadow: #ccc 0 0px 1px;
-webkit-box-shadow: #ccc 0 0px 1px;
box-shadow: #ccc 0 0px 1px;
}
.rabs input[type="radio"]:checked + label {
background: #fff;
color: #000;
border: 1px solid #0fa0bd;
-webkit-box-shadow: 0px 0px 9px #50D029;
-moz-box-shadow: 0px 0px 9px #50D029;
-ms-box-shadow: 0px 0px 9px #50D029;
-o-box-shadow: 0px 0px 9px #50D029;
box-shadow: 0px 0px 9px #50D029;
}

Код: html4strict
<div class="rabs">
<input type="radio" id="tab-1" name="radioname"  checked>
<label for="tab-1">Больше</label>
<input type="radio" id="tab-2" name="radioname">
<label for="tab-2">Меньше</label>
<input type="radio" id="tab-3" name="radioname" >
<label for="tab-3">Среднее</label>
</div>

Если Вы, не поняли, то могу попробовать ещё формулировку)))

И ещё, как предложение. Добавить возможность подгрузки изображения к чекбоксам хотя бы 100*100
« Последнее редактирование: 30.07.2016, 20:21:04 от DzSoft »
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Можно. Добавьте атрибут for для label. Соответственно, вам понадобится поменять местами строки с $row.= и $name=. В новой версии radio будет внутри label и такие стили можно будет делать без правки кода. По поводу изображений не понял что куда.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

x1

  • Давно я тут
  • 617
  • 15 / 0
  • Linux — это Windows для бытовой техники
Это первое пожелание:
Цитировать
javascript перепишу с mootools на jquery.
Второе пожелание:  
К прекрасному полю emeilback (backemeil) неплохо бы добавить поле backfile, т.е. если человек указывает свой емейл для получения копии письма на свой адрес, то только в этом случае мы отсылаем ему вместе с письмом также и файлы, например текст договора. При этом такой файл должен отправляться только ему, но не нам.
*

Olg

  • Завсегдатай
  • 1170
  • 88 / 2
И откуда этот "загоняемый" список должен браться?
Из простого текстового файла; можно через copy-paste.
*

DzSoft

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
допустим вы сделали так, что бы можно было делать кнопки в той форме которую я показал.
И к примеру нужно видеть, что это за чекбокс что он собой подразумевает. а рядышком картинка слева или справа которая в этой кнопки (превьюшка) на которую нажмешь и она увеличиться для просмотра (как в галереях)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Radical Form - бесплатная ajax форма обратной связи, которая не ломает дизайн

Автор Progreccor

Ответов: 312
Просмотров: 41428
Последний ответ 13.04.2024, 14:54:26
от tigra-uki
QuickForm 3 - конструктор простых и сложных форм

Автор varX

Ответов: 1074
Просмотров: 60630
Последний ответ 26.11.2023, 19:02:39
от barvik
QuickForm 2 - конструктор форм с зависимыми полями и калькулятором

Автор varX

Ответов: 1351
Просмотров: 102698
Последний ответ 03.10.2022, 22:34:40
от dodsik
AJAX Web-Factor Form - простая форма обратной связи для Joomla 3+

Автор orsy

Ответов: 75
Просмотров: 16558
Последний ответ 17.07.2021, 10:01:40
от Biss
Форма обратной связи для Joomla 2.5

Автор ForQue

Ответов: 0
Просмотров: 1826
Последний ответ 10.01.2021, 10:57:08
от ForQue