14.12.2016, 12:43
|
Аспирант
|
|
Регистрация: 13.12.2016
Сообщений: 85
|
|
Извиняюсь за непонимание, только недавно начал постигать.
Вот этот код вызывает форму, подскажите пожалуйста как корректно вставить.
<script type="text/javascript">
$(function() {
//Form
var $form_link = $('.form-button'),
$form = $('#form_product');
$form_link.click(function(event) {
event.preventDefault();
if ($form.hasClass('opened')){
$form.removeClass('opened');
if (/iPod|iPad|iPhone/i.test(navigator.userAgent)) {
$('html').removeClass('overflowHidden');
} else {
$(document.documentElement).removeClass('overflowHidden');
}
} else {
$form.addClass('opened');
if (/iPod|iPad|iPhone/i.test(navigator.userAgent)) {
$('html').addClass('overflowHidden');
$('body').addClass('overflowHidden');
} else {
$(document.documentElement).addClass('overflowHidden');
}
}
$('.popup-form').s3IncludeForm('/forma' + '?form', function(){
if($('input[type="text"]').val() == '') {
$('input[type="text"]').parent().find('.placeholder').show();
}
});
return false;
});
$(".close-reveal-modal").on('click touchstart', function(event) {
$form.removeClass('opened');
});
});
</script>
Последний раз редактировалось KEMPZOR, 11.01.2018 в 11:23.
|
|
14.12.2016, 13:20
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
KEMPZOR,
В вашем примере по ссылке скрипт выполняется при загрузке кода страницы до загрузки формы - отсюда и ошибка.
Прочтите (внимательно!) свой пост№1 и пост№2 от ksa и подумайте - почему у него работает, а у вас - нет.
|
|
14.12.2016, 13:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Вы задаете один вопрос с описанием проблемы, а код показываете размером с портянку.
Еще раз о том, о чем была суть вопроса - невозможно обратиться к объекту, если в значении селектора по которому производится поиск присутствуют квадратные скобки.
Как это можно вылечить используя DOM и было показано. У вас код выше использует jQuey, а значит в нем достучаться до поля с именем d[2] можно так - $('[name="d\\[2\\]"]').val('значение')
Что еще пояснять?
|
|
14.12.2016, 13:50
|
Аспирант
|
|
Регистрация: 13.12.2016
Сообщений: 85
|
|
Сообщение от laimas
|
Вы задаете один вопрос с описанием проблемы, а код показываете размером с портянку.
Еще раз о том, о чем была суть вопроса - невозможно обратиться к объекту, если в значении селектора по которому производится поиск присутствуют квадратные скобки.
Как это можно вылечить используя DOM и было показано. У вас код выше использует jQuey, а значит в нем достучаться до поля с именем d[2] можно так - $('[name="d\\[2\\]"]').val('значение')
Что еще пояснять?
|
<form>
<input name="d[2]" />
</form>
<script type='text/javascript'>
$('[name="d\\[2\\]"]').val('значение')
</script>
Вот такая конструкция работает. Но вот если по кнопке, то значение как бы видно на долю секунды и потом оно исчезает.
|
|
14.12.2016, 14:03
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
KEMPZOR,
Сообщение от KEMPZOR
|
Но вот если по кнопке, то значение как бы видно на долю секунды и потом оно исчезает.
|
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function () {
$('.form-button').on('click', function () {
$("#d\\[2\\]").val("Johnny Bravo");
});
})
</script>
</head>
<body>
<a class="form-button" href="#">КНОПКА</a>
<textarea name="d[2]" id="d[2]" required=""></textarea>
</body>
</html>
Последний раз редактировалось Dilettante_Pro, 14.12.2016 в 14:13.
|
|
14.12.2016, 16:09
|
Аспирант
|
|
Регистрация: 13.12.2016
Сообщений: 85
|
|
Сообщение от Dilettante_Pro
|
KEMPZOR,
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function () {
$('.form-button').on('click', function () {
$("#d\\[2\\]").val("Johnny Bravo");
});
})
</script>
</head>
<body>
<a class="form-button" href="#">КНОПКА</a>
<textarea name="d[2]" id="d[2]" required=""></textarea>
</body>
</html>
|
Да, это работает на странице, вот только в popup окне не появляется.
|
|
14.12.2016, 16:34
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
KEMPZOR,
Сообщение от KEMPZOR
|
Да, это работает на странице, вот только в popup окне не появляется.
|
тут весь вопрос в том, где и когда появляется у вас это поле textarea name="d[2]" id="d[2]". И запись в него должна стоять после этого момента.
М.б. перед return false (строка 36 в пост#11)
|
|
14.12.2016, 16:51
|
Аспирант
|
|
Регистрация: 13.12.2016
Сообщений: 85
|
|
Сообщение от Dilettante_Pro
|
KEMPZOR,
тут весь вопрос в том, где и когда появляется у вас это поле textarea name="d[2]" id="d[2]". И запись в него должна стоять после этого момента.
М.б. перед return false (строка 36 в пост#11)
|
Спасибо за подсказку, попробую проверить.
Отлично, заработало, низкий вам поклон!
Последний раз редактировалось KEMPZOR, 14.12.2016 в 16:59.
|
|
14.12.2016, 16:54
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от KEMPZOR
|
name="d[2]" id="d[2]".
|
Зачем id="d[2]" если достаточно и name="d[2]"?
|
|
14.12.2016, 17:07
|
Аспирант
|
|
Регистрация: 13.12.2016
Сообщений: 85
|
|
Сообщение от laimas
|
Зачем id="d[2]" если достаточно и name="d[2]"?
|
Сайт на megagroup.ru, это всё у них с коробки.
|
|
|
|