Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.06.2012, 22:29
Интересующийся
Отправить личное сообщение для Vetall Посмотреть профиль Найти все сообщения от Vetall
 
Регистрация: 09.06.2012
Сообщений: 19

Замена частей текста в текстовом поле
Здравствуйте, помогите пожалуйста найти / сделать скрипт, который будет заменять определённые части строки в input поле ввода, например я ввёл в текстовое поле "plugin.dll" после чего скрипт сразу же заменил .dll на .so чтобы в итоге получилось "plugin.so", буду очень благодарен за помощь
Ответить с цитированием
  #2 (permalink)  
Старый 09.06.2012, 22:38
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Vetall Посмотреть сообщение
Здравствуйте, помогите пожалуйста найти / сделать скрипт, который будет заменять определённые части строки в input поле ввода, например я ввёл в текстовое поле "plugin.dll" после чего скрипт сразу же заменил .dll на .so чтобы в итоге получилось "plugin.so", буду очень благодарен за помощь
как вариант
function replace_string(txt, cut_str, paste_str) {
	var f=0;
	var ht="";
	ht = ht + txt;
	f=ht.indexOf(cut_str);
	while (f!=-1) {
	//цикл для вырезания всех имеющихся подстрок
		f=ht.indexOf(cut_str);
		if (f>0) { ht = ht.substr(0,f) + paste_str + ht.substr(f+cut_str.length); }
	}
	return ht;
}

где txt - строка, cut_str - что заменять, paste_str - на что заменять...
Ответить с цитированием
  #3 (permalink)  
Старый 09.06.2012, 23:03
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript">
function RepINP(a){
//Что, на что меняем
var Ch = 'plugin.dll',My = 'plugin.so';
 a.value = a.value.replace(Ch,My)
}
</script>
<form>
<input id=InpFrm1 type=text name="plugin" onchange="RepINP(this)" autocomplete="off"/>
</form>

Последний раз редактировалось Deff, 09.06.2012 в 23:06.
Ответить с цитированием
  #4 (permalink)  
Старый 09.06.2012, 23:05
Интересующийся
Отправить личное сообщение для Vetall Посмотреть профиль Найти все сообщения от Vetall
 
Регистрация: 09.06.2012
Сообщений: 19

Deff, извините, но это немного не то, надо заменять только .dll, а не всю строку.

Последний раз редактировалось Vetall, 09.06.2012 в 23:08.
Ответить с цитированием
  #5 (permalink)  
Старый 09.06.2012, 23:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Vetall,
Вроде полный код - ткните Запустить
Ответить с цитированием
  #6 (permalink)  
Старый 09.06.2012, 23:09
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Deff Посмотреть сообщение
Vetall,
Вроде полный код - ткните Запустить
а чем мой не понравилса?
Ответить с цитированием
  #7 (permalink)  
Старый 09.06.2012, 23:10
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

<script type='text/javascript'>
function replace(zam,zam2){
txt = document.getElementById('text').value;
txt = txt.replace(zam,zam2);
document.getElementById('text').value = txt
}
</script>
<input type='text' id='text' onkeydown='replace(".dll",".so")' onfocus='replace(".dll",".so")'
 onblur='replace(".dll",".so")'>

я бы так сделал zam - это то что заменяется, zam2 - на что заменяется
Ответить с цитированием
  #8 (permalink)  
Старый 09.06.2012, 23:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Deff,
твой вариант не будет заменять множественное вхождение текста:
var Ch = 'plugin.dll',My = 'plugin.so';
alert( "tratata plugin.dll, param plugin.dll".replace(Ch,My) );
тогда уж лучше делать так:
var Ch = 'plugin.dll',My = 'plugin.so';
alert( "tratata plugin.dll, param plugin.dll".replace( new RegExp( Ch, "g" ), My) );


Сообщение от lord2kim
а чем мой не понравилса?
что-то громоздко как-то.

Сообщение от Dim@
я бы так сделал zam - это то что заменяется, zam2 - на что заменяется
тоже множественное вхождение не сработает.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 09.06.2012, 23:14
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Сообщение от lord2kim Посмотреть сообщение
а чем мой не понравилса?
скорее тем что вы не использовали методы рег. выражений
Ответить с цитированием
  #10 (permalink)  
Старый 09.06.2012, 23:17
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Сообщение от devote Посмотреть сообщение
тоже множественное вхождение не сработает.
=) работает еще как работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Замена частей текста Joshka Javascript под браузер 5 04.05.2011 05:10
Поиск и замена в текстовом поле Roman Koff Events/DOM/Window 12 23.04.2010 23:35
Изменение текста слоя по изменениям в текстовом поле Воитель Общие вопросы Javascript 4 21.10.2008 11:03
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36