javascript 页面上的多个表单为特定表单提交数据

g6baxovj  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(108)

我有一个页面上有多个表单,当您提交其中一个表单时,(通过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);
    }
});

字符串
});

pxy2qtax

pxy2qtax1#

我假设.expHeadline.expContent.IDv是每个表单中的元素?
如果是这样的话,它们没有特定的上下文,所以jQuery使用他在dom上找到的第一个元素,而不是在提交的表单上。
最好在函数上使用this来定位这些元素。this引用了submit事件所定位的元素

var headline =  $(this).find(".expHeadline").val();
var content = $(this).find(".expContent").val();
var vid = $(this).find(".IDv").val();

字符串

相关问题