arvindispra Ответов: 1

Как получить значение HTML textbox


Я пытаюсь реализовать функции чата на веб-сайте. Я использовал здесь подсказку, чтобы получить имя клиента. Он работает правильно, но проблема в том, что "подсказка" показывает всплывающее окно при каждой загрузке страницы. Я хочу получить имя клиента по текстовому полю, а не по приглашению. Что же мне делать?

Я пробую этот код

Что я уже пробовал:

<div class="container">
        <input type="text" id="message" />
        <input type="button" id="sendmessage" value="Send" /><br />
        <button onclick="myFunction()">Try it</button>
        <input type="hidden" id="displayname" />
        <ul id="discussion"></ul>
    </div><script type="text/javascript">
       function myFunction() {
            // Declare a proxy to reference the hub.
            var chat = $.connection.chatHub;
            // Create a function that the hub can call to broadcast messages.
            chat.client.broadcastMessage = function (name, message) {
                // Html encode display name and message.
                var encodedName = $('<div />').text(name).html();
                var encodedMsg = $('<div />').text(message).html();
                // Add the message to the page.
                $('#discussion').append('<strong>' + encodedName
                    + '</strong>:&nbsp;&nbsp;' + encodedMsg);
            };
            // Get the user name and store it to prepend to messages.
            $('#displayname').val(prompt('Enter your name:', ''));
            // Set initial focus to message input box.
            $('#message').focus();
            // Start the connection.
            $.connection.hub.start().done(function () {
                $('#sendmessage').click(function () {
                    // Call the Send method on the hub.
                    chat.server.send($('#displayname').val(), $('#message').val());
                    // Clear text box and reset focus for next comment.
                    $('#message').val('').focus();
                });
            });
        };
    </script>

1 Ответов

Рейтинг:
4

Karthik_Mahalingam

Цитата:
Я хочу получить имя клиента по текстовому полю, а не по приглашению. Что же мне делать?

удалите эту строку
$('#displayname').val(prompt('Enter your name:', ''));

Я предполагаю, что #displayname - это текстовое поле, так как вы использовали функцию. val()

Примечание: убедитесь,что пустые данные не передаются концентратору, вам необходимо их проверить.