当每个表单具有相同的类时,从所选表单中获取值

时间:2015-01-06 08:56:10

标签: php jquery ajax

我使用while循环显示数据库中的数据。当我想在这个循环中对表单做一些事情的时候,一切都很好。

所以这就是它的样子:

// RECORD NR 1
                    <div class=\"movie__btns\">
                    <form class=\"actionlist\" method=\"post\">
                            <select name=\"buttonaction\"  class=\"actionlist\" id=\"wybrana_opcja\">
                              <option value=\"watchlater\">Do obejrzenia</option>
                              <option value=\"watched\">Obejrzany</option>
                              <option value=\"favorite\">Ulubiony</option>
                            </select>
                            <input type=\"hidden\" class=\"id_user\" value=\"$stat[id]\">
                            <input type=\"hidden\" class=\"id_movie\" value=\"$podobny_film[id]\">
                                <button type=\"submit\" class=\"btn btn-md btn--warning\">Dodaj</button>                                        
                    </form>                             
                    </div>

// RECORD NR 2
                        <div class=\"movie__btns\">
                        <form class=\"actionlist\" method=\"post\">
                                <select name=\"buttonaction\"  class=\"actionlist\" id=\"wybrana_opcja\">
                                  <option value=\"watchlater\">Do obejrzenia</option>
                                  <option value=\"watched\">Obejrzany</option>
                                  <option value=\"favorite\">Ulubiony</option>
                                </select>
                                <input type=\"hidden\" class=\"id_user\" value=\"$stat[id]\">
                                <input type=\"hidden\" class=\"id_movie\" value=\"$podobny_film[id]\">
                                    <button type=\"submit\" class=\"btn btn-md btn--warning\">Dodaj</button>                                        
                        </form>                             
                        </div>

它看起来一样,但在输入中有不同的值。

现在,我的问题是:

当我填写第二个表单时,我会从第一个表单中获取id_movie值。如何修复它?我希望从第二种形式获得价值,同时提交第二种形式。

我的jQuery:

$('.actionlist').submit(function(e) {

        e.preventDefault();

        var wybor = $("#wybrana_opcja option:selected" ).text();
        var id_user = $('.id_user').val();
        var id_movie = $('.id_movie').val();

});

3 个答案:

答案 0 :(得分:2)

首先,您拥有formselect类的actionlist元素,因此最好只将事件附加到form。您还需要从id中删除select属性,否则它将不是唯一的并且会使页面无效。

最后,您可以使用form关键字中引用的this来查找相关输入:

$('form.actionlist').submit(function(e) {
    e.preventDefault();

    var $form = $(this);
    var wybor = $form.find(".actionlist option:selected").text();
    var id_user = $form.find('.id_user').val();
    var id_movie = $form.find('.id_movie').val();
});

答案 1 :(得分:0)

使用jquery“On”提交事件

$("form.actionlist").on("submit",function(event){
   event.preventDefault();
   // your code
})

更多参考如何在答案下获得价值检查

jquery disable form to validate data

答案 2 :(得分:0)

<div class=\"movie__btns\" >
                <form class=\"actionlist\" method=\"post\">
                        <select name=\"buttonaction\"  class=\"actionlist\" id=\"wybrana_opcja\">
                          <option value=\"watchlater\">Do obejrzenia</option>
                          <option value=\"watched\">Obejrzany</option>
                          <option value=\"favorite\">Ulubiony</option>
                        </select>
                        <input type=\"hidden\" class=\"id_user\" value=\"$stat[id]\">
                        <input type=\"hidden\" class=\"id_movie\" value=\"$podobny_film[id]\">
                            <button type=\"submit\" class=\"btn btn-md btn--warning\">Dodaj</button>                                        
                </form>                             
                </div>

                // RECORD NR 2
                    <div class=\"movie__btns\" >
                    <form class=\"actionlist\" method=\"post\" >
                            <select name=\"buttonaction\"  class=\"actionlist\" id=\"wybrana_opcja\">
                              <option value=\"watchlater\">Do obejrzenia</option>
                              <option value=\"watched\">Obejrzany</option>
                              <option value=\"favorite\">Ulubiony</option>
                            </select>
                            <input type=\"hidden\" class=\"id_user\" value=\"$stat[id]\">
                            <input type=\"hidden\" class=\"id_movie\" value=\"$podobny_film[id]\">
                                <button type=\"submit\" class=\"btn btn-md btn--warning\">Dodaj</button>                                        
                    </form>                             
                    </div>

的jQuery

$('form.actionlist').submit(function(e) {

    e.preventDefault();

    var wybor = $("#wybrana_opcja option:selected" ).text();
    var id_user = $('.id_user').val();
    var id_movie = $('.id_movie').val();

});