С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 48

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

15.10.2015, 05:34. Показов 1548. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru