PHP - vaciar input text despues de enviar msg

 
Vista:

vaciar input text despues de enviar msg

Publicado por josele (12 intervenciones) el 12/08/2020 19:12:46
Estoy editando un chat pero no consigo borrar el input text despues de enviar el mensaje, he probado de todo, un post de aqui, pero no lo consigo.

El archivo HTML es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
 
    <title>Mis Mensajes</title>
</head>
 
<body>
  <div class="loading" style="display:hidden;">Loading&#8230;</div>
    <div class="bar bar-header bar-royal" style="position:fixed;">
          <a href="#" onclick="javascript:history.go(-1);" class="button button-clear"><i class="ion-ios-arrow-left"></i> Atrás</a>
        <h1 class="title">Mis Mensajes</h1>
    </div>
    <div class="content">
      <div class="chat" id="chat">
      </div>
    </div>
    <div class="bar bar-footer bar-dark" style="position:fixed;">
      <div class="item-input" style="width:100%">
 
 
        <label class="item-input-wrapper" style="width:85%">
 
          <input type="text" id="msg" placeholder="tu mensaje" >
        </label>
        <button class="button button-small" id="send_message">
          Enviar
        </button>
 
      </div>
    </div>
 
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/chat.js"></script>
</body>
 
</html>

Y aqui el archivo JS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$(document).ready(function(){
 
    var sender = decodeURI(getUrlVars()["sender"]);
    var receiver=localStorage.username;
    var url="http://www.webchatt.com/message/message.php?sender="+sender+"&receiver="+receiver+"&view_message=";
    setInterval(function(){
    $.getJSON(url,function(data){
        $(".loading").hide();
        $("#chat").html(" ");
        $.each(data.messages, function(i,data){
            if(data.sender==sender){
                $("#chat").append("<p class='bubble me'>"+data.message+"</p>");
            }
            else if(data.receiver==sender){
                $("#chat").append("<p class='bubble you'>"+data.message+"</p>");
            }
            console.log(data.message);
        });
    });
    }, 5000);
    $("#send_message").click(function(){
        $(".loading").show();
        var msg=$("#msg").val();
        var sender1=localStorage.username;
        var receiver1=sender;
        var dataString="sender="+sender1+"&receiver="+receiver1+"&message="+msg+"&send_message=";
        if($.trim(msg).length>0)
        {
            $.ajax({
                type: "POST",
                url: "http://www.condedracula.com/message_system/message.php",
                data: dataString,
                crossDomain: true,
                cache: false,
                beforeSend: function(){ $("#send_message").html('enviando..');},
                success: function(data){
                    $(".loading").hide();
                    if(data==true){
                        $("#msg").val(""); 
                        $("#send_message").html('Enviar');
 
                    }
                    else(data==false)
                    {
                        $("#send_message").html('Enviar');
                    }
                }
            });
        }
    });
});

$("#msg").val(""); No funciona
Ojala alguien pueda ayudarme, Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

vaciar input text despues de enviar msg

Publicado por Fabian (60 intervenciones) el 12/08/2020 20:22:22
intentá con esto:
1
$("#msg").attr("value", "");

ó sin usar jquery intentá con esto:
1
document.getElementById("msg").value = "";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

vaciar input text despues de enviar msg

Publicado por josele (12 intervenciones) el 12/08/2020 21:27:04
Gracias de nuevo Fabian, al final lo he solucionado agregandolo tambien a la opcion false, no lo entiendo pero funciona.

1
2
3
4
5
6
7
8
9
10
11
success: function(data){
    $(".loading").hide();
    if(data==true){
        $("#msg").val("");
        $("#send_message").html('send');
 
    }
    else(data==false)
    {
        $("#send_message").html('send');
        $("#msg").val("");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

vaciar input text despues de enviar msg

Publicado por Fabian (60 intervenciones) el 12/08/2020 20:46:50
el error lo tenes en este bloque de codigo:
1
2
3
4
5
6
7
8
9
if(data==true){
$("#msg").val("");
$("#send_message").html('Enviar');
 
}
else(data==false)
{
$("#send_message").html('Enviar');
}

tendría que ser así, en el caso que "data" tenga un valor booleano:

1
2
3
4
5
6
7
8
if(data){
$("#msg").val("");
$("#send_message").html('Enviar');
}
else
{
$("#send_message").html('Enviar');
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

vaciar input text despues de enviar msg

Publicado por josele (12 intervenciones) el 12/08/2020 21:33:05
Funciona perfecto, lo he rectificado como me has dicho, Millón de gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar