Здравствуйте! Подскажите, пожалуйста, правильно ли я решаю вопрос:
Есть пару полей на странице и Яндекс.кнопка.
Кнопка - это iframe (это так у Яндексов).
В src этого iframe куча параметров.
Но один из этих параметров нужно задавать "на лету", в процессе заполнения пользователем полей на странице.
Я прописал в нем изначально что-то заметное, а потом - меняю на то, что нужно.
Получилась вот такая громоздкая конструкция:
$('#frame').attr(
'src',
document.getElementById('frame').src.replace('JS-REPLACE-ID', data)
);
Мне не нравится, что часть команды написана на jQuery, а часть - на простом JS. Но по-другому она не работает.
Что я делаю не так?
Вы показали рабочий вариант, но не показали нерабочий, так что сказать "что не так" трудно. Пробуйте:
На jQuery:
var myFrame = $('#myframe');
myFrame.attr('src', myFrame.attr('src').replace(/blank/, 'bank'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<iframe id="myframe" src="about:blank"></iframe>
На Vanilla.js
var myFrame = document.getElementById('myframe');
myFrame.setAttribute('src', myFrame.getAttribute('src').replace(/blank/, 'bank'));
<iframe id="myframe" src="about:blank"></iframe>
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости