多个表单生成的jquery不提交
Posted
技术标签:
【中文标题】多个表单生成的jquery不提交【英文标题】:multiple form generated jquery doesn't submit 【发布时间】:2020-10-04 23:12:12 【问题描述】:我正在使用 Django 构建一个网站(类似电子商务)。
有时我会显示一个项目列表,每个项目都有一个带有提交按钮订单和数量选择器的表单。
我已经实现了过滤功能,可以删除我的项目列表的 html 代码并使用 jquery 匹配的项目重新构建它。
这个函数生成的新表单在提交按钮被点击时什么都不做
这是我在函数中使用的部分代码(我使用 ajax 调用来生成匹配项的 json,然后将它们显示在表格列表中):
$.each(code_json, function(index, value)
var string = "<tr id="+ value.material +"><td>"+ value.manufNo +"</td><form method='POST' action='/add_to_cart/"+value.material+"/"+ value.node+"/language'><td><input type='submit' class='btn' value='Commander' style='color:blue;'></td><td><input id='qty' type='number' name='qty' class='form-control' value='1'></td></form></tr>";
$("#header").after(string);
);
我知道通常使用 Django 您必须为每个表单添加 % csrf_token %。但是,它通常在丢失时会抛出错误页面,并且这里不显示任何内容
编辑:我试图在动态创建的提交按钮上绑定一个 onclick 事件。 在此我在 jquery 中做了一个 $.post 来模拟表单的提交,但没有发生任何事情
$(document).on('click', '.btnStandard', function(event)
console.log($(this).attr('id'));
$.post('/add_to_cart/'+$(this).attr('id'),
qty: $("#qty"+$(this).attr('id')).val()
,function(data,status,xhr)
alert("Data : "+data+", status: "+status+", xhr: "+xhr);
);
它在控制台中打印 $(this).attr('id') 但它不做任何其他事情 谢谢你的帮助
【问题讨论】:
这能回答你的问题吗? Dynamic form not submitting (jQuery) 谢谢,但我不使用 javascript 提交...我只是使用表单标签中的操作字段。我不想让事情复杂化。 问题仍然是一样的 afaik。我很确定您必须为动态添加的表单、您想要或不想要的天气这样做。 好的,我明天试试,让你知道谢谢 不幸的是,它对我不起作用,通过阅读帖子,这不是 OP 用来解决他的问题的解决方案 【参考方案1】:它没有解释为什么我会遇到这个问题,但我找到了解决我的问题的解决方法。
我不是动态生成表单,而是使用模板生成它们,然后将它们全部隐藏。后来,多亏了 css,我让我需要的东西在我需要的时候可见。
【讨论】:
以上是关于多个表单生成的jquery不提交的主要内容,如果未能解决你的问题,请参考以下文章