我使用 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
类同时具有form
和select
元素,因此最好仅将事件附加到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禁用表单以验证数据