单击按钮时从html表获取数据

时间:2018-08-07 21:29:31

标签: javascript html mysql spring-mvc

我有一个html表单,显示用户产品搜索的结果(搜索结果来自我的mysql数据库)。我在表格的每一行中添加了一个“添加到购物车”按钮,html如下所示:

table id="products">
    <tr>
        <th>Product ID</th>
        <th>Name</th>
        <th>Brand</th>
        <th>Rating</th>
        <th>Price</th>
        <th>Availability</th>

        <tr th:each="product : ${results}">
        <td th:text="${product.productId}" id="${product.productId}"></td>
        <td th:text="${product.productName}"></td>
        <td th:text="${product.brand}"></td>
        <td th:text="${product.rating}"></td>
        <td th:text="${product.price}"></td>
        <td th:text="${product.availableInStock}"></td>
        <td><button onclick="myfunction(this.dataset.productId)" class="btn-select" type="button" value="${product.productId}">Add to cart</button></td></tr>
</tr>
</table>
    <script type="text/javascript">
        function myfunction(productId) {
            alert(productId);
            var row = document.getElementById(productId).parentNode;
            console.log(row);
        }
    </script>

我要“返回”用户单击的产品的产品ID(以便将其插入到用户购物车的数据库中)。 正如您在上面的代码中看到的那样,我尝试使用javascript。我试图开始弹出带有正确产品ID的警报,但它只是警报“未定义”。

您知道如何提醒正确的ID,然后将其返回以便插入数据库吗?

只需提一下,我使用ModelAndView来从数据库中获取搜索结果并将它们传递给html表,如下所示:

@RequestMapping("/results")
    public ModelAndView results(UserSearch search){
        ModelAndView mav = new ModelAndView("results");
        Configuration cfg = new Configuration();
        cfg.configure("hibernate.cfg.xml");
        SessionFactory factory = cfg.buildSessionFactory();
        Session session = factory.openSession();

        ArrayList<ProductsEntity> li = (ArrayList<ProductsEntity>)session.createQuery("from ProductsEntity").list();
        ArrayList<ProductsEntity> res = new ArrayList<ProductsEntity>();
        for (ProductsEntity c: li) {
            if (c.getProductName().toLowerCase().contains(search.getSearch().toLowerCase())){
                res.add(c);
            }
        }
        mav.addObject("results",res);
        session.close();
        factory.close();
        return mav;
    }

感谢您的帮助!

0 个答案:

没有答案