Javascript / Php Chat - Enter не работает в одном текстовом поле

0

Поэтому я сделал чат с текстовыми полями. Если я нажму ENTER, чат отправит сообщение. Это хорошо, но в "Предупреждении" это не работает. Когда я нажимаю Enter, это не работает. Кто-нибудь может мне помочь?

//This is for normal users:

    <form name="message" action="">
            <input name="usermsg" type="text" id="usermsg" size="63" />
            <input name="submitmsg" type="submit"  id="submitmsg" value="Send" />
    </form>
    <br>



//This is for moderators:

            <form name="moderating" method="post" action="">
            <hr align="center">
            <br>
            <p><b>Write in color:</b></p>
            <script type="text/javascript" src="color_picker/jscolor.js"></script>Select color: <input class="color" name="color_value" type="text" id="color_value" value="FF0F0F">
            <input name="colormsg" type="text" id="colormsg" size="25" />
            <input name="submitcolormsg" type="submit"  id="submitcolormsg" value="Send" />
            <br><br>
            <p><b>Warning</b></p>


//Is this wrong?! :

            <input name="warningmsg" type="text" id="warningmsg" size="63" />
            <input name="submitwarningmsg" type="submit"  id="submitwarningmsg" value="Warning" />
            <br><br>
            <p><b>Clear chat log</b></p>
            <input name="clear_button" type="submit"  id="clear_button" value="Clear" />
            <br><br>
            <p><b>Turn on/off chat</b></p>
            <input type="radio" name="chat_status_group" id="on" value="on" checked><b>On</b> -<input type="radio" name="chat_status_group" id="off" value="off"><b>Off</b> <input name="chat_status_button" type="submit"  id="chat_status_button" value="Ok" />
    </form>

   </div>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
   <script type="text/javascript">
   // jQuery Document
   $(document).ready(function(){

    $("#submitmsg").click(function(){       
            var clientmsg = $("#usermsg").val();
            $.post("***.php", {text: clientmsg});                               
            $("#usermsg").attr("value", "");
            return false;
    });

    $("#submitcolormsg").click(function(){       
            var clientcolormsg = $("#colormsg").val();
            var color = $("#color_value").val();
            $.post("***.php", {
            text: clientcolormsg,
            color: color
            });                       
            $("#colormsg").attr("value", "");
            return false;
    });

 //And here is the wrong?! :

    $("#submitwarningmsg").click(function(){       
            var post_warningmsg = $("#warningmsg").val();
            $.post("***.php", {text: post_warningmsg});                               
            $("#warningmsg").attr("value", "");
            return false;
    });



    $("#clear_button").click(function(){       
            $.post("clear.php");       
            return false;                       
    });



    $("#chat_status_button").click(function(){       
            var statusmsg = "on";
                    if(document.getElementById('on').checked) {
                    statusmsg = "on";
                    } else {
                    statusmsg = "off";
                    }
            $.post("chat_status.php", {
            text: statusmsg
            });                       
            return false;               
    });
   .
   .
   .


   });
   </script>
   </body>
   </html>

Я думаю, проблема здесь:

$("#submitwarningmsg").click(function(){       
  var post_warningmsg = $("#warningmsg").val();
  $.post("***.php", {text: post_warningmsg});                               
  $("#warningmsg").attr("value", "");
  return false;
});

Зачем

$ ("# warningmsg"). attr ("value", "");

не работает?

  • 0
    Используйте $ ("# warningmsg"). Val ('');
Теги:

1 ответ

0

Это не работает, потому что вы проверяете только клик, а не отправляете. Попробуйте изменить последний код:

$("#submitwarningmsg").submit(function(e){
  e.preventDefault();
  var post_warningmsg = $("#warningmsg").val();
  $.post("***.php", {text: post_warningmsg});                               
  $("#warningmsg").val("");
  return false;
});

Кроме того, вы забываете открывать форму в последней форме:

<form>
  • 0
    Но тогда почему работают еще 2 textinput .click?
  • 0
    Я предположил, что они были отдельными страницами, но, похоже, их нет. Пожалуйста, проверьте, что явно отсутствует открывающий <form>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню