🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ امیر صالحی
empty برگرداندن jquery
میثم حل شده توسط میثم

سلام و احترام

من هم با جاوااسکریپت تست کردم و هم با jquery اما جفتشون مقدار خالی بر میگردونن وقتی از val استفاده میکنم

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chat</title>
    <!-- CSS only -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<body>
    <div class="container">
        <div class="row">
            <ul class="msg-list">
            </ul>
        </div>
        <form method="post" id="chatForm">
            <div class="form-group">
                <label id="message"></label>
                <input type="text" name="message" id="message" class="form-control" />
            </div>
            <div>
                <input type="submit" id="subBtn" class="btn btn-info" value="send">
            </div>
        </form>
    </div>
    <script src="js/jquery-3.5.1.slim.min.js"></script>
    <script> 
       $(document).ready(function() {
            $("#subBtn").click(function(e){
                e.preventDefault();
                alert($("#message").val());
            });
       });
    </script>
</body>
</html>

اگه امکانش هست بررسی کنید و بهم کمک کنید

سلام امیر جان 

دوتا ایراد داری : 

اول اینکه باید با submit خود فرم کار کنی نه با دکمه کلیک شد!

      $("#chatForm").submit(function(e){
           e.preventDefault();
           let input = $("#message").val();
           console.log(input);
       });

دوم اینکه شما id=message رو دو جا دادی یکی برای اینپوتت و دومین جا برای لیبل. 

اگر میخوای لیبل رو برای اینپوتت بزاری باید از for استفاده کنی و نام اینپوتت رو بهش بدی : 

<label for="message"></label>

اگر به این شکل عمل نکنی شما وقتی توی جیکوری اینپوت رو میخوای با ای دی بگیری چون به لیبل هم همون ای دی رو دادی میره اولین ای دی که برای لیبل هست رو پیدا میکنه و میبینه ولیو نداره بابراین undifined بر میگردونه 

بهترین پاسخ
میثم ۰۹ مرداد ۱۳۹۹، ۱۱:۰۱

سلام میثم جان

اصلا حواصم به lable نبود، آقا دمت گرم ممنون

امیر صالحی ۰۹ مرداد ۱۳۹۹، ۱۱:۰۴