有人帮我找到了我不想删除的JavaScript code to remove hidden form fields from submission和code that ignores a certain field(无论是否隐藏):
$("form").submit(function() {
$(this).find(":hidden").remove(); // hide hidden elements before submitting
});
和
:not(input[name=csrfmiddlewaretoken])
然而,我不能为我的生活弄清楚如何将这些放在一起。我确定这是一个基本的JavaScript问题,但我似乎无法将它们拼凑在一起。
是否有人知道如何删除所有隐藏的表单条目未命名 csrfmiddlewaretoken
?如果你这样做,我真的很感激。
非常感谢。
答案 0 :(得分:10)
$(this).find(":hidden").not('input[name=csrfmiddlewaretoken]').remove();
或者
$(this).find(":hidden").filter(':not(input[name=csrfmiddlewaretoken])').remove();
或者
$(this).find("input[name!=csrfmiddlewaretoken]:hidden").remove();
答案 1 :(得分:2)
$(this).find(":hidden").filter("[name!='csrfmiddlewaretoken']").remove();
答案 2 :(得分:2)
您可以将this
作为上下文参数传递,这可能比从中创建jQuery对象更快。 :not()
表达式可以跟:hidden
没有空格,这意味着它会向:hidden
选择器添加第二个条件。
$(":hidden:not(input[name=csrfmiddlewaretoken])", this).remove();