console.log 在我的输入字段中给出 undefined

2 javascript php forms console.log

脚本:

    $(document).ready(function (){
        $(document).on('click', '.add_category', function(e){
            e.preventDefault();
            var data = {
                'category_name': $('.category_name').val(),
                'category_description': $('.category_description').val(),
            }
            console.log(data);
        });
    });
Run Code Online (Sandbox Code Playgroud)

形式:

<h4 class="text-center font-weight-bold">Add New Category</h4>
<div class="form-group">
<input type="text" class="form-control form-group w-100" placeholder="Category Name" class="category_name">
</div> 
<div class="form-group">
<textarea class="form-control w-100" placeholder="Category Description" class="category_description" cols="50" rows="10"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

需要建议,undefined即使输入类型和脚本的 var 数据中的变量相同,我添加内容的输入字段事件也会返回

我还尝试将 class="category_name" 更改为 name="category_name"

我错过了什么?

1

小智 7

您的 HTML 标签包括两个class属性:

<input type="text" class="form-control form-group w-100" placeholder="Category Name" class="category_name">
                   ^^^ here                                                          ^^^ and here
Run Code Online (Sandbox Code Playgroud)

浏览器忽略了第二个,所以你的 jQuery 选择器返回空集。

您应该将类​​属性组合成一个字符串:

<input type="text" class="form-control form-group w-100 category_name" placeholder="Category Name">
Run Code Online (Sandbox Code Playgroud)