Функция для захвата значения и сохранения его в переменной
Мне нужно записать значение, отображаемое на веб-сайте для пользователя, а затем сохранить его в переменной. В идеале я хотел бы сделать это в functions.php .
Более конкретно, мы используем динамическую замену номера телефона на сайтах, и мы хотели бы знать, какой номер телефона отображается пользователю, когда он отправляет контактную форму (через формы гравитации).
Я могу записать номер телефона в класс или идентификатор, но изо всех сил пытаюсь понять, как написать функция для преобразования этого значения в переменную.
Я отправил свой вопрос в Гравитационные формы, но они не помогут. Спасибо.
2 answers
У меня была аналогичная задача с контактной формой 7, мой подход состоял в том, чтобы добавить скрытое поле в форму в CF7, а затем написать jQuery, чтобы присвоить значение скрытому полю, когда страница будет готова.
<script>
jQuery(document).Ready(function(){
document.getElementById('hiddeninputID').value = document.getElementById('cphone').value;
});
</script>
Использование приведенного выше скрипта - самый простой способ сделать то, чего вы хотите достичь, использование PHP будет работать, но для этого может потребоваться обновление кода PHP вместе с регулярными обновлениями гравитационных форм. Сценарий не повлияет на скорость страницы и всегда должен быть совместим. Заменить hiddeninputID
на идентификатор добавленного вами поля ввода
Обновление:
Чтобы принять во внимание приведенный пример:
<script>
jQuery(document).ready(function() {
var mmPhone = document.getElementById("mm-cphone").innerHTML;
jQuery("#input_4_10").val(mmPhone);
jQuery("#input_4_11").val(mmPhone);
});
</script>
Я не знаю, как вы отображаете номер телефона, но я думаю, что вы можете сохранить необходимое значение, используя gform_pre_submission крючок из гравитационной формы. Сначала добавьте некоторые скрытые входные данные, а затем вы можете изменить значение поля непосредственно в functions.php . Пример из документов:
add_action( 'gform_pre_submission', 'pre_submission_handler' );
function pre_submission_handler( $form ) {
$_POST['input_14'] = 'new value for field 14';
}
Обновление: Вы не можете получить номер телефона напрямую на php. Вам нужен некоторый код jQuery, чтобы работать над ним. Что-то вроде телефона var.
var phone = $('#cphone').text();
$('<some id of the hidden field>').val(phone);
Было бы лучше использовать атрибуты данных для хранения дополнительные данные для элементов DOM.