Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена частей текста в текстовом поле (https://javascript.ru/forum/misc/28987-zamena-chastejj-teksta-v-tekstovom-pole.html)

lord2kim 09.06.2012 23:17

Цитата:

Сообщение от Dim@ (Сообщение 180409)
скорее тем что вы не использовали методы рег. выражений :lol:

регулярками дольше обрабатывать...ИМХО

Dim@ 09.06.2012 23:19

Цитата:

Сообщение от lord2kim (Сообщение 180411)
регулярками дольше обрабатывать...ИМХО

ну да нудааа:lol: :lol: :lol: (ладно все таки хватит нам флудить=))

lord2kim 09.06.2012 23:21

Цитата:

Сообщение от Dim@ (Сообщение 180407)
<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 - на что заменяется

хах) IE не дает клавишами стрелочек бегать по полю...

Deff 09.06.2012 23:22

Цитата:

Сообщение от devote
твой вариант не будет заменять множественное вхождение текста:

Согласён, прост предположил однократное вхождение

Dim@ 09.06.2012 23:23

Цитата:

Сообщение от lord2kim (Сообщение 180414)
хах) IE не дает клавишами стрелочек бегать по полю...

зато другие браузеры дают

devote 09.06.2012 23:24

Dim@,
это только потому что замена происходит за несколько проходов. Тоесть первое меняет при фокусе, второе при блюре, третье при кейдовне... но если одно событие будет.. то будет заменено лишь одно.

попробуйте вставить такую строку:
tratata plugin.dll, param plugin.dll tratata plugin.dll, param plugin.dll tratata plugin.dll, param plugin.dll
и увидите как она не сразу вся замениться.

lord2kim 09.06.2012 23:25

Цитата:

Сообщение от Dim@ (Сообщение 180416)
зато другие браузеры дают

ну как бы желательно предусмотреть все варианты и постарацца обеспечить кроссбраузерность...

Dim@ 09.06.2012 23:28

Цитата:

Сообщение от devote (Сообщение 180417)
Dim@,
это только потому что замена происходит за несколько проходов. Тоесть первое меняет при фокусе, второе при блюре, третье при кейдовне... но если одно событие будет.. то будет заменено лишь одно.

попробуйте вставить такую строку:
tratata plugin.dll, param plugin.dll tratata plugin.dll, param plugin.dll tratata plugin.dll, param plugin.dll
и увидите как она не сразу вся замениться.

да и в правду не сразу

Dim@ 09.06.2012 23:42

<script type='text/javascript'>
function replace(zam,zam2){
txt = document.getElementById('text').value;
zam = new RegExp(zam,'g','i')
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")'>

devote
Можно так=)

Deff 09.06.2012 23:43

Dim@,
Ксать вот так мон объединять
<input type='text' id='text' onkeydown=onfocus=onblur='replace(".dll",".so")'>
==================================
Vetall,
Напишите Пару сложных Вариаций вводимой строки и вид замененённой


Часовой пояс GMT +3, время: 01:56.