Здравствуйте, коллеги.
Прошу помочь советом.
Как вставить значение "safe_key" из поля типа select, Webform.
Токен %value[метка_поля] выдает содержание "Some readable option"
У меня есть поле select, которое выглядит так:
с1|Первый
с2|Второй
с3|Третий
Формирую ссылку адрес файла c1.pdf в письме пользователю, отправляемому после заполнения формы.
пишу sites/fefault/files/%value[метка_поля].pdf
а мне выдает sites/fefault/files/Первый.pdf
Как вставить значение "с1" ?
Подскажите пожалуйста.
Комментарии
Работа с токенами, точно не мой конек. Поэтому прошу помощи.
Кто нибудь поможет ?
А-ААААА!!!! 2 дня я искал ответ!!!! И нашёл!!! ) Всё уже сделано до нас ))
http://drupal.stackexchange.com/questions/66047/use-safe-key-in-webform-...
https://www.drupal.org/node/1340010
https://drupal.org/files/webform-1340010-19.patch
НАДО ПРОПАТЧИВАТЬ МОДУЛЬ "webform.module" чтобы в списке передавалось значение safe_key а не его описание !!!!
(после патча, вместо %value[ключ] пишем %safe_key[ключ])
(я пропатчил вручную добавив десяток строк начинающихся с "+" в указанные места файла..)
Та же проблема. Сделал webform калькулятор на ajax, а как передать результат на email, не знаю. Да что там результат, хотя бы value option передать.
Вот такой код передает php-файлу, который делает вычисления, значение safe_key при выборе пользователем вариантов списка select, а потом вводит результат обратно:
<script>
$("select").change(function () {
var str = "";
$("select option:selected").each(function () {
$.ajax({
type: "POST",
url: '/sites/all/themes/mytheme/php/results.php',
data: 'tarif='+$('#edit-submitted-tarif').val() + '&inst='+$('#edit-submitted-inst').val() + '&crcr='+$('#edit-submitted-crcr').val(),
success: function(html){
$('#result').html(html);
}
});
});
$("#results").text(str);
})
.change();
</script>
Вот код php-файла, который делает вычисления:
<?php
$a = ($_REQUEST['tarif']);
$b = ($_REQUEST['usb']);
$c = ($_REQUEST['crcr']);
$results='ИТОГО: ' . ($a + $b + $c);
print $results;
?>
Но, если напрямую ставить в полях (например, в hidden) <?php print ($_REQUEST['tarif']); ?> или даже <?php print ($_REQUEST['submitted[tarif]']); ?> то ноль.
—
*Drupal 6
Вам нужно использовать встроенные функции для передачи значений форм и для обработки ajax.
Иначе будете бороться с конфликтами.
Лень писать..Думаю кто-то поможет