【问题标题】:"[object Object]" error when using Javascript使用 Javascript 时出现“[object Object]”错误
【发布时间】:2015-12-12 15:08:02
【问题描述】:

我正在尝试通过单击“添加到购物车”按钮将所需信息添加到我的购物车中,该按钮将所需信息提交到数据库中的表格,该表格包含要添加到购物车中的物品。我正在处理的问题发生在项目的名称上,其中我收到一个错误,指出 [object Object] 而不是项目的名称。我不确定为什么要这样做,因为名称可以与项目名称一起打印到屏幕上,但它无法将其存储到要存储到数据库中的变量中。

<form method="post" action="store.php">                
    <div id="myModal" class="modal fade" role="dialog">
        <div class="modal-dialog">

        <!-- Modal content-->
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title"><?= $row3[1] ?></h4>
                    <input type="hidden" id="hiddenName" name="hiddenName" value=""/>
                </div>
            <div class="modal-body text-right">
                <img id="image" src="<?= $row3[4] ?>" alt="<?= $row3[1] ?>" type="image" width: "200px;">
                <input type="hidden" id="hiddenImage" name="hiddenImage" value=""/>
                <p id="description"><?= $row3[2] ?></p>
                <input type="hidden" id="hiddenDesc" name="hiddenDesc" value=""/>
                <h3 id="price"><?= $row3[5] ?></h3>
                <input type="hidden" id="hiddenPrice" name="hiddenPrice" value=""/>
                <input id="quantity" name="quantity" class="quantity" type="text" value="1" name="quantity">
            </div>
            <div class="modal-footer">
                <input type="submit" id="addtocart" name="addtocart" class="btn btn-default"  value="Add to Cart"/>
            </div>
        </div>
    </div>
</div>
</form>

<script>
    $('#myModal').on('show.bs.modal', function (event) {
        var button = $(event.relatedTarget); // Button that triggered the modal
        var name = button.data('item'); // Extract info from data-* attributes
        var description = button.data('desc');
        var price = button.data('price');
        var image = button.data('img');

        var modal = $(this);
        var title = modal.find('.modal-title').text(name);
        document.getElementById('image').src= image;
        document.getElementById('description').innerHTML = description;
        document.getElementById('price').innerHTML = price;

        document.getElementById('hiddenName').value = title;
        document.getElementById('hiddenPrice').value = price;
        document.getElementById('hiddenDesc').value = description;
        document.getElementById('hiddenImage').value = image;
    })
</script>

【问题讨论】:

    标签: javascript php jquery forms


    【解决方案1】:

    因为你在哪里设置标题

    var title = modal.find('.modal-title').text(name);  
    

    该变量包含对 .modal-title 元素的引用,并且您将值设置为元素,而不是元素的文本。

    document.getElementById('hiddenName').value = title;
    

    所以你应该使用名称,而不是标题

    document.getElementById('hiddenName').value = name;
    

    【讨论】:

    • 非常感谢!我正在考虑使用标题,因为我已经获取了该元素的文本,并认为这将是我存储在值中的内容,但现在这更有意义了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多