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


Getting values from chosen form, when every form has the same class

我使用 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();
});
首先,

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

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

$('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();
});
<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();
});

使用 jquery "On" 提交事件

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

更多参考如何获得值检查下面的答案

jQuery禁用表单以验证数据