Php jquery仅插入第一行查询

Php jquery仅插入第一行查询,php,jquery,ajax,mysqli,Php,Jquery,Ajax,Mysqli,我有一个产品列表,每行有一个“添加到购物车按钮”。该脚本在插入art.code和项目数并返回响应的第一行运行良好。如果我在列表的下一步按另一篇文章,脚本将无法工作。我在另一个问题的某个地方读到id必须是唯一的,但我真的不知道如何在我的脚本中实现它 尝试使用类而不是id选择器 HTML中的更改:在提交按钮上添加了一个类 <form method='post' action='search.php'> <input type='hidden' id='cartart' name

我有一个产品列表,每行有一个“添加到购物车按钮”。该脚本在插入art.code和项目数并返回响应的第一行运行良好。如果我在列表的下一步按另一篇文章,脚本将无法工作。我在另一个问题的某个地方读到id必须是唯一的,但我真的不知道如何在我的脚本中实现它




尝试使用类而不是id选择器

HTML中的更改:在提交按钮上添加了一个类

<form method='post' action='search.php'>
 <input type='hidden' id='cartart' name='cartart' value='".$artno."' />
 <input id='cartantal' type='number' name='cartantal'value='".$number."' />
 <input type='submit' name='submit' class='addToShoppingCart' value='add'/>
 </form>
您甚至可以通过使用
.on()
使它变得更好。
请在此处查看文档:

代码中的问题是。。您有多个具有相同ID的表单。。 ID应该始终是唯一的…(这就是为什么它被称为ID):)

使用类。。 将所有ID更改为类

<form method='post' action='search.php'>
 <input type='hidden' class='cartart' name='cartart' value='".$artno."' />
 <input class='cartantal' type='number' name='cartantal'value='".$number."' />
 <input type='submit' name='submit' class='submit' value='add'/>

您多次使用同一dom id是否有多个表单?@MrCode是的我使用多个表单您还可以使用jquery.validate库(包括jquery.form js)来验证和提交表单,无论您是否在一个页面中有多个表单,请使用唯一id定义所有表单,并为每个表单提交和验证分配适当的代码。@frictionlesspulley由于某种原因,我无法使其正常工作。它可以正确插入,但不会返回到同一页。相反,它会转到search.phpI进行了您建议的所有更改,但它似乎不起作用这应该起作用检查这把小提琴。。。这只是一个例子。。其中,我为每种产品提醒
namn
antal
。。而且它有正确的值…非常感谢,我的mysqli查询中似乎有一个错误-它现在工作得很好,除了成功将其值返回到第一个结果,但我会尝试解决它OK。。这意味着,即使你的代码是多重的。。。。你可以做同样的事情,把它变成一个类,用jquery选择器选择它……如果你遇到任何问题,现在让我告诉你……)
<form method='post' action='search.php'>
 <input type='hidden' id='cartart' name='cartart' value='".$artno."' />
 <input id='cartantal' type='number' name='cartantal'value='".$number."' />
 <input type='submit' name='submit' class='addToShoppingCart' value='add'/>
 </form>
$(function() {
    $(".addToShoppingCart").click( function(){

  ...rest remains same
});
<form method='post' action='search.php'>
 <input type='hidden' class='cartart' name='cartart' value='".$artno."' />
 <input class='cartantal' type='number' name='cartantal'value='".$number."' />
 <input type='submit' name='submit' class='submit' value='add'/>
$(function() {
  $(".submit").click( function(){  //use class selector

    var namn = $(this).parent().find('.cartart').val();  //finds the  parent of the clicked button  and serach for a class called cartart and gets the value 
    var antal = $(this).parent().find('.cartantal').val();

    $.ajax({
        url: "search.php",
        type: "POST",
        data: 'gui_artkod=' + namn + '&gui_antal=' + antal,

        success: function(result){
            $("#result").html(result);
        }
    });
    return false;
  });
});