Javascript jQuery和多个表单,只有第一个有效
我有一个包含多个元素的页面,单击其中一个表单时要发送一些jQuery代码 表格: 第一个按钮按预期工作,并获取服务器的json响应,但是所有其他按钮都不工作 我认为这可能是因为存在多个投票和身份证后表单输入,但无法找到替代策略,或者这是否真的是问题所在 非常感谢您的帮助。Javascript jQuery和多个表单,只有第一个有效,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含多个元素的页面,单击其中一个表单时要发送一些jQuery代码 表格: 第一个按钮按预期工作,并获取服务器的json响应,但是所有其他按钮都不工作 我认为这可能是因为存在多个投票和身份证后表单输入,但无法找到替代策略,或者这是否真的是问题所在 非常感谢您的帮助。 谢谢我认为您可以反复浏览所有表单,并在提交活动中单独提交每个表单: $("#formID").submit(function(e) { e.preventDefault(); var url = $(this)
谢谢我认为您可以反复浏览所有表单,并在提交活动中单独提交每个表单:
$("#formID").submit(function(e) {
e.preventDefault();
var url = $(this).attr('action');
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
// All other ajax code for submitting form data
});
});
如果您有多个表单,那么使用表单的ID来提交事件:`$(“#formID”).submit(函数(e){)`是的,很可能是重复ID是您的问题。它们通常是一个坏主意。如果您不能修改ID,您将不得不在当前表单的上下文中查找元素,而不是像您当前那样在
文档上下文中查找。@Reza是有意义的。但是,我现在是否需要多次迭代这些元素e javascript?不幸的是,这似乎不起作用。提交的数据仍然只是第一次提交的数据。请尝试按其ID提交每个表单!
$(document).ready(function() {
$("form").submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/button_form/",
dataType: "json",
data : {
post_id : encodeURIComponent(document.getElementById('post_id').value),
vote : encodeURIComponent(document.getElementById('vote').value),
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success : function(json) {
$('#result').html( 'post id: ' + json.post_id + ' voted: ' + json.up_or_down);
},
error: function(xhr,errmsg,err) {
alert(xhr.status + ": " + xhr.responseText);
}
});
return false;
});
});
$("#formID").submit(function(e) {
e.preventDefault();
var url = $(this).attr('action');
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
// All other ajax code for submitting form data
});
});