Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена текста в textarea/input (https://javascript.ru/forum/misc/72363-zamena-teksta-v-textarea-input.html)

nizag 24.01.2018 10:54

Замена текста в textarea/input
 
Господа, добрый день!

Прошу помощи.

Данный скрипт заменяет ключ на пустое место, т.е. удаляет
Не могу добавить ключ2, ключ3 и т.д.

<script type="text/javascript">
function MyReplace(obj)
{ obj=document.getElementById('getVideoID');
var str=obj.value;
obj.value = str.replace('ключ1', '');
}
</script>

Данным скриптом пытаюсь решить добавление ID видео с ютюб-видео-страницы путем частичного удаления url.

ключи:
youtube.com/watch?v=
www.youtube.com/watch?v=
https://www.youtube.com/embed/
https://youtu.be/
https://www.youtube.com/watch?v=

Я не разбираюсь в js, вчера весь день убил, не смог решить данную проблему.... не смог... :(

nizag 24.01.2018 13:17

Добил бубном:
<script type="text/javascript">
function MyReplace(obj)
{ obj=document.getElementById('getVideoID');
var str1=obj.value;
obj.value = str1.replace('https://www.youtube.com/watch?v=', '');

var str2=obj.value;
obj.value = str2.replace('https://youtu.be/', '');
}
</script>

Спасибо, тема закрыта!)

Dilettante_Pro 24.01.2018 14:53

nizag,
Много лишнего. И где вызов этой функции?
<input type='text' id='getVideoID' value = 'https://www.youtube.com/watch?v=123456789i'>
<script type="text/javascript">
function MyReplace() { 
   obj=document.getElementById('getVideoID');
   obj.value = obj.value.replace('https://www.youtube.com/watch?v=', '');
   obj.value = obj.value.replace('https://youtu.be/', ''); 
};
MyReplace();
</script>

nizag 24.01.2018 15:13

Спасибо за ответ.

Я сделал так:

<input type="text" id="getVideoID" onkeyup="MyReplace(this)" name="ritemIDVIDEO" value="" maxlength="255">

<script type="text/javascript">
function MyReplace(obj)
{ obj=document.getElementById('getVideoID');
var str1=obj.value;
obj.value = str1.replace('https://', '');

var str2=obj.value;
obj.value = str2.replace('www.', '');

var str3=obj.value;
obj.value = str3.replace('youtube.com/embed/', '');

var str4=obj.value;
obj.value = str4.replace('youtube.com/watch?v=', '');

var str5=obj.value;
obj.value = str5.replace('youtu.be/', '');
}
</script>

Честно признаюсь, я так и не понял как оно работает)

Dilettante_Pro 24.01.2018 15:53

nizag,
Вызывается ваша функция при помощи onkeyup="MyReplace(this)"

И, опять же, лишнее: при таком вызове можно делать так:
(при просмотре мышью укажите поле input и, поскольку поле уже заполнено, просто нажмите и отпустите клавишу ctrl)
<input type='text' id='getVideoID' onkeyup="MyReplace(this)" value = 'https://www.youtube.com/watch?v=123456789i'>
<script type="text/javascript">
function MyReplace(obj) { 
   obj.value = obj.value.replace('https://www.youtube.com/watch?v=', '');
   obj.value = obj.value.replace('https://youtu.be/', ''); 
};
</script>

nizag 24.01.2018 17:02

Вы просто волшебник!!!)))

Большое, человеческое спасибо!


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