0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48

Replace не срабатывает

15.10.2015, 05:34. Показов 1570. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Я написала вот такой код на js:
JavaScript
1
2
3
var str = '/id="pay-type-7"/mg';
var str1 = 'id="pay-type-7" disabled';
var newstr01 = str.replace(str, str1);
все замечательно работает, если бы не одно "НО"... заменить нужно код страницы html, задача стоит в том, чтобы заблокировать выбор input с типом radio, если флаг == true
но этот код не работает..
Кликните здесь для просмотра всего текста

ссылка на онлайн редактор с исходным кодом http://jsfiddle.net/yd9a7tcy/1/
в инете лазила две ночи, как вариант - можно удалить всю строку таблицы, благо она id имеет - "payment-block-7", но я с элементами doom не дружу, в js новичок.. регулярку лучше понимаю.. но input все равно не блокируется.. буду крайне признательна за помощь.. предполагаю, что проблема в "str.replace", document.replace пробовала, не помогает, innerHTML так же.. есть конечно вариант, что не верно вставляю, но проверить не могу - в интернете таких примеров вобще не нашла..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2015, 05:34
Ответы с готовыми решениями:

Не срабатывает location.replace
Народ подскажите пожалуйста. Есть код function removeENGURL() { var origin_url=location.href; if (origin_url ==...

Не срабатывает location.replace
Народ подскажите пожалуйста. Есть код function removeENGURL() { var origin_url=location.href; if (origin_url ==...

Kak mojno s pomoshu VB realizovat replace? Vsego odin replace?
Privet mojet pomojete reshit i etu problemu, a to proga stoit na meste, ves den dumal i ne kak ne smog oboiti, vso ravno est nujda v...

12
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
15.10.2015, 05:50
maia666, ну и логика, паутина обкуренного паука)

так нужно?:
JavaScript
1
2
3
document.getElementById('pay-type-7').onchange = function(){
    this.setAttribute('disabled', true);
};
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.10.2015, 05:51
maia666, попробуйте простым русским языком объяснить вашу проблему

начните так: "на странице имеются четыре радиокнопки, и я хочу, чтобы..."
1
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48
15.10.2015, 06:26  [ТС]
Цитата Сообщение от Padimanskas Посмотреть сообщение
так нужно?:
document.getElementById('pay-type-7').onchange = function(){
this.setAttribute('disabled', true);
};
этот вариант не работает.. да и функция тут не нужна, нужно просто при загрузке страницы проверить флаг, если true, то удалить ячейку с input или прописать в нее disabled. onchange - Событие возникает при изменении значения элемента формы, вроде текстового поля или списка, это совсем не то.

Добавлено через 1 минуту
Цитата Сообщение от kalabuni Посмотреть сообщение
начните так: "на странице имеются четыре радиокнопки, и я хочу, чтобы..."
Доброе утро! С удовольствием бы перефразировала, но отредактировать первое сообщение уже не получается.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.10.2015, 07:05
Цитата Сообщение от maia666 Посмотреть сообщение
С удовольствием бы перефразировала, но отредактировать первое сообщение уже не получается
так сделайте это сейчас

и главное - разъясните, о каком-таком "флаге" идёт речь?
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
15.10.2015, 07:13
Цитата Сообщение от maia666 Посмотреть сообщение
onchange - Событие возникает при изменении значения элемента формы
onchange возникает на всех элементах html-форма, которые меняют свое состояние)
Цитата Сообщение от maia666 Посмотреть сообщение
этот вариант не работает.. да и функция тут не нужна
да работает он) я его в этой песочнице под катом и проверял. И это не просто функция, а обработчик события, вставляем его хоть в атрибут события, хоть в код непосредственно, не имеет значения - так или иначе, но он будет.
0
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48
15.10.2015, 07:20  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
так сделайте это сейчас
на странице оформления заказа интернет магазина есть 4 кнопки с типом radio для выбора способа оплаты. Эти способы оплаты "зашиты" (т.е. конструктор не позволяет их выводить вручную). В связи с этим нужно реализовать скрипт со следующей логикой:
если в заказе есть товары с артикулом больше 2000000, то нужно заблокировать способ оплаты наличными при получении, т.к. эти товары поставляются "под заказ" по предоплате.
я написала такой скрипт:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var artno2= document.getElementsByClassName("order-item-art"); //получаем все артикулы и проверяем есть ли среди них товары с артикулом > 2000000
for(var z=0; z<=artno2.length;z++)
{
if(artno2[z].innerHTML>2000000)
{
 var flagal=true; break; //если в заказе есть хоть один товар с артикулом >2000000, то ставим флаг на true и выходим из цикла
}else
{
 var flagal=false; 
}
}
if(flagal==true) //здесь нужно как-то заблокировать выбор input, или удалить вовсе строку из таблицы с этим способом оплаты, я пошла по пути блокировки через disabled
{
var str = '/id="pay-type-7"/mg'; //ищем нужную строку с id
var str1 = 'id="pay-type-7" disabled'; //строка замены с disabled
var newstr01 = str.replace(str, str1); // не срабатывает замена в исходном коде
};
ссылка на исходный код - http://jsfiddle.net/yd9a7tcy/3/
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.10.2015, 07:33
в вашем исходном коде http://jsfiddle.net/yd9a7tcy/3/ НЕТ ни одного тега с классом order-item-art, поэтому получить значения их innerHTML НИКАК НЕЛЬЗЯ

добавьте эти теги в исходный код и тогда я решу вашу задачу

и вообще ваш подход -- "замена строк исходного кода" -- он в принципе неверен
с исходным кодом работает браузер -- он этот код преобразует в объекты страницы, а яваскрипт уже работает с этими самыми объектами
0
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48
15.10.2015, 07:39  [ТС]
Цитата Сообщение от Padimanskas Посмотреть сообщение
да работает он) я его в этой песочнице под катом и проверял.
перепроверила.. да, работает.. но не сразу блокируется кнопка, т.е. ткнуть в этот способ оплаты я успела.. думаю, что дело все таки в onchange.. нужно чтобы блокировка сразу при загрузке страницы стояла.. предложенный вами вариант, к сожалению, проблему не решает..

Добавлено через 3 минуты
Цитата Сообщение от kalabuni Посмотреть сообщение
добавьте эти теги в исходный код и тогда я решу вашу задачу
дело в том, что вставить в редактор http://jsfiddle.net исходный код целиком корректно не получается.. обрезала, но все нужные данные есть http://jsfiddle.net/yd9a7tcy/4/
на всякий случай ссылка на страницу http://www.palaris-nn.ru/shop/checkout для быстрого примера через поиск можно добавить в корзину пару товаров (артикул 2201897, 713501 (например)).
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.10.2015, 08:04
Лучший ответ Сообщение было отмечено maia666 как решение

Решение

посмотрите http://jsfiddle.net/yd9a7tcy/5/
1
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48
15.10.2015, 08:18  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
посмотрите http://jsfiddle.net/yd9a7tcy/5/
Хочу выразить Вам огромную благодарность за помощь!
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.10.2015, 08:23
Лучший ответ Сообщение было отмечено maia666 как решение

Решение

maia666, подкорректируйте вашу страницу http://www.palaris-nn.ru/shop/checkout -- у вас там на странице оформления заказа какой-то странный тег <trody> имеется
1
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48
15.10.2015, 08:25  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
<trody>
действительно) опечатка) спасибо огромное!)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2015, 08:25
Помогаю со студенческими работами здесь

Запрос срабатывает в SQL Server, но не корректно срабатывает в Visual Studio 2017
(SELECT ROW_NUMBER() over (ORDER BY AVG(Отметки.Отметка) DESC) ID, .ФИО, .Группа, Отметки., Отметки.Полугодие, AVG(Отметки.Отметка) AS...

Таймер срабатывает раньше времени или вообще не срабатывает
Помогите, пожалуйста, разобраться, что нетак с таймером. Браузер Chrome При создании записи, создаётся заметка со следующими...

replace
Поясните не понятливому человеку как работает replace into, желательно с хорошим примером чтоб был понятным

replace
Будь добры дайте функцию Replace плиз т.е должна заменить подстроку в строке

не replace-ит
Есть строка $route = '{controller}/{action}' Надо получить &lt;controller&gt;/&lt;action&gt; После $route =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru