Jump to content
Disy

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

Recommended Posts

Хочу сделать показ/срытие (замена друг друга) двух элементов, а то есть кнопку отправки личного сообщения в диалоге (сделать как у вк), когда нету в 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: выше скрипт тестовый (строго не судите) =))

Share this post


Link to post
Share on other sites

как бы мне по факту нужен либо код более нормальный (другой), либо антоним значению keypress

Share this post


Link to post
Share on other sites

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

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

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

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

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

} else {

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

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

}

});

 

Share this post


Link to post
Share on other sites
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>
  

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

Edited by Disy

Share this post


Link to post
Share on other sites
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();

}

});
});

 

Share this post


Link to post
Share on other sites
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>
  

Share this post


Link to post
Share on other sites
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>
  

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

Share this post


Link to post
Share on other sites
8 минут назад, Mario сказал:

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

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

Share this post


Link to post
Share on other sites
9 минут назад, Disy сказал:

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

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

Share this post


Link to post
Share on other sites

Там только русские номера телефонов можно подтвердить

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
2 минуты назад, Mario сказал:

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

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

Share this post


Link to post
Share on other sites
21 минуту назад, Disy сказал:

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

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

Share this post


Link to post
Share on other sites
42 минуты назад, Mario сказал:

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

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

Share this post


Link to post
Share on other sites
5 часов назад, Disy сказал:

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

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

 

Share this post


Link to post
Share on other sites

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

 

</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>

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×