我有一个页面上有多个表单,当您提交其中一个表单时,(通过Ajax)它的工作原理,然而,当我提交任何其他形式,但第一个,它张贴的第一个表单的数据,而不是第二个表单.我认为这与.each()函数或找到点击该表单,但不知道如何和我卡住.这里是我的代码到目前为止,任何帮助都将不胜感激。
$(".mixForm").submit(function (event) {
event.preventDefault();
var headline = $(".expHeadline").val();
var content = $(".expContent").val();
var vid = $(".IDv").val();
alert(headline);
// This does the ajax request
$.ajax({
url: ajaxurl,
method: 'post',
data: {
'action': 'enyc_add_exp_row',
'head' : headline,
'cont' : content,
'vid' : vid,
},
success:function(data) {
// This outputs the result of the ajax request
alert('hi');
console.log(data);
$(".response").html(data);
},
error: function(errorThrown){
console.log(errorThrown);
}
});
字符串
});
1条答案
按热度按时间pxy2qtax1#
我假设
.expHeadline
,.expContent
和.IDv
是每个表单中的元素?如果是这样的话,它们没有特定的上下文,所以jQuery使用他在dom上找到的第一个元素,而不是在提交的表单上。
最好在函数上使用
this
来定位这些元素。this
引用了submit
事件所定位的元素字符串