Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

Помогите пожалуйста с JS кодом


Рекомендуемые сообщения

Хочу сделать показ/срытие (замена друг друга) двух элементов, а то есть кнопку отправки личного сообщения в диалоге (сделать как у вк), когда нету в textarea текста вместо кнопки отправить стоит кнопка записать голосовое сообщение, а если в textarea есть (или появляется текст) то данная кнопка меняется и т д..
имеется такой код:

<script>
var textarea = document.getElementById('msg_text');
var span1 = document.getElementById('golosim');
textarea.addEventListener('keypress', function() {
span1.style.display = "none";
});
var textarea = document.getElementById('msg_text');
var span = document.getElementById('sending');
textarea.addEventListener('keypress', function() {
span.style.display = "block";
});
</script>

<textarea class="videos_input wysiwyg_inpt fl_l im_msg_texta" onkeypress="showdiv()" id="msg_text" placeholder="{translate=lang_369}"></textarea>
<span1 class="but_golos_im" style="display: block;" onClick="Recording.toogle(this);" id="golosim" onselectstart="return false"></span1>
<span class="but_mess_im" style="display: none;" onClick="im.send('{for_user_id}', '{my-name}', '{my-ava}')" id="sending" onselectstart="return false"></span>

 

и как бы все работает, но когда поле очищаешь то замена обратно не происходит, весь инет обкопал что нужно в js вставить, так и не нашел, может вы знаете???

PS: выше скрипт тестовый (строго не судите) =))

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Disy сказал:

 

 

1 час назад, Mario сказал:

Убери это всё.


$('#msg_text').change(function(r){

if($(r).val()){

$('#sending').show();

$('#golosim').hide();

} else {

$('#sending').hide();

$('#golosim').show();

}

});

 

<script>
$('#msg_text').change(function(r){
if($(r).val()){
$('#sending').show();
$('#golosim').hide();
} else {
$('#sending').hide();
$('#golosim').show();
}
});
</script>

<span class="but_golos_im" style="display: block;" onClick="Recording.toogle(this);" id="golosim" onselectstart="return false"></span>
<span class="but_mess_im" style="display: none;" onClick="im.send('{for_user_id}', '{my-name}', '{my-ava}')" id="sending" onselectstart="return false"></span>
  

Сделал так и не работает..(

Изменено пользователем Disy
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Disy сказал:

 

<script>
$('#msg_text').change(function(r){
if($(r).val()){
$('#sending').show();
$('#golosim').hide();
} else {
$('#sending').hide();
$('#golosim').show();
}
});
</script>

<span class="but_golos_im" style="display: block;" onClick="Recording.toogle(this);" id="golosim" onselectstart="return false"></span>
<span class="but_mess_im" style="display: none;" onClick="im.send('{for_user_id}', '{my-name}', '{my-ava}')" id="sending" onselectstart="return false"></span>
  

Сделал так и не работает..(

Оберни что бы оно при полной загрузке страницы включалось.

$(function(){
$('#msg_text').change(function(r){

if($(r).val()){

$('#sending').show();

$('#golosim').hide();

} else {

$('#sending').hide();

$('#golosim').show();

}

});
});

 

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Mario сказал:

Оберни что бы оно при полной загрузке страницы включалось.


$(function(){
$('#msg_text').change(function(r){

if($(r).val()){

$('#sending').show();

$('#golosim').hide();

} else {

$('#sending').hide();

$('#golosim').show();

}

});
});

 

скрипт обернул и все равно не меняется, может тут ошибся где нибудь:
<span class="but_golos_im" style="display: block;" onClick="Recording.toogle(this);" id="golosim" onselectstart="return false"></span>
<span class="but_mess_im" style="display: none;" onClick="im.send('{for_user_id}', '{my-name}', '{my-ava}')" id="sending" onselectstart="return false"></span>
  

Ссылка на комментарий
Поделиться на другие сайты

26 минут назад, Disy сказал:

скрипт обернул и все равно не меняется, может тут ошибся где нибудь:
<span class="but_golos_im" style="display: block;" onClick="Recording.toogle(this);" id="golosim" onselectstart="return false"></span>
<span class="but_mess_im" style="display: none;" onClick="im.send('{for_user_id}', '{my-name}', '{my-ava}')" id="sending" onselectstart="return false"></span>
  

Нет, может какие-то ошибки в жс есть и оно стопорит торможение этого 

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, Mario сказал:

Нет, может какие-то ошибки в жс есть и оно стопорит торможение этого 

Специально отключил все скрипты и оставил этот единственный, все же не пашет..

Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, Disy сказал:

Специально отключил все скрипты и оставил этот единственный, все же не пашет..

Дай ссылку на сайт, где он стоит

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Mario сказал:

Скрипт не подключен на страницу сообщений, да и ошибки функций есть (других)

я этот скрипт не в profile засунул а просто в теги <script></script> на странице той, а ошибки другие они не значительные и не влияют, может все же надо в profile подключить его???

Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, Disy сказал:

я этот скрипт не в profile засунул а просто в теги <script></script> на странице той, а ошибки другие они не значительные и не влияют, может все же надо в profile подключить его???

Его нет ни в profile.js (и не надо), ни в странице сообщений

Ссылка на комментарий
Поделиться на другие сайты

42 минуты назад, Mario сказал:

Его нет ни в profile.js (и не надо), ни в странице сообщений

Вот щас вытащил, в коде скрипт есть но все равно не ошибку не выдает и не грузит..

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Disy сказал:

Вот щас вытащил, в коде скрипт есть но все равно не ошибку не выдает и не грузит..

$('#msg_text').bind('input',function(){
if($(this).val()){
$('#sending').show();
$('#golosim').hide();
} else {
$('#sending').hide();
$('#golosim').show();
}
});

 

Ссылка на комментарий
Поделиться на другие сайты

Кто может все же подсказать как правильно сделать?
Вот такой код имеется, но и с ним не работает:

 

</script>
$(function(){

$('#msg_text').bind('input',function(){
if($(this).val()){
$('#sending').show();
$('#golosim').hide();
} else {
$('#sending').hide();
$('#golosim').show();
}
});

});
</script>

 

<span class="but_golos_im" style="display: block;" onClick="Recording.toogle(this);" id="golosim" onselectstart="return false"></span>
<span class="but_mess_im" style="display: none;" onClick="im.send('{for_user_id}', '{my-name}', '{my-ava}')" id="sending" onselectstart="return false"></span>

 

 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...