如何使用Jquery删除隐藏输入字段的Name属性?

4

我在表单中有多个输入字段,如下所示:

<div class="ginput_container ginput_container_product_calculation">
<input type="hidden" class="gform_hidden" value="Space Cost:" name="input_97.1">
<input type="hidden" class="gform_hidden" value="$150.00" name="input_97.2">
<input type="hidden" class="ginput_quantity_1_97 gform_hidden" value="1" name="input_97.3">
</div>

我需要防止表单中的所有隐藏输入字段被提交。到目前为止,我找到的最好的解决方案是删除输入字段的名称属性,但我不知道如何使用jQuery来实现它。任何帮助将不胜感激!


在谷歌上搜索jquery removeAttr - 你将会详细了解它。 - Dipak
4个回答

10

使用.removeAttr()方法。

$("input[type='hidden']").removeAttr('name');

OR
$(":hidden").removeAttr('name');

OR
$("input:hidden").removeAttr('name');

编辑:另一种禁止某些输入提交的方法是将其设为禁用状态,因为禁用的表单输入不会被提交。


有没有办法防止提交 div 内的所有字段? - Alex
是的,您可以为 div 中的所有字段添加禁用属性。禁用的字段无法提交。 - Kartikeya Khosla
@Alex,请使用 $(":hidden").attr('disabled','disabled') - Kartikeya Khosla
你确定可以将“disable”属性添加到<div>内的所有字段吗?包括<p>,<span>,<label>等?我认为它仅适用于<input>。 - Alex
@Alex...禁用spanp是没有意义的,因为它们不会随表单一起提交..只有表单输入才会被提交。 - Kartikeya Khosla

0

如先前所述,您可以删除name属性,但我认为这可能会导致潜在问题-最好只需将disabled属性设置为“true”。这是行之有效的,因为禁用表单输入不会与表单的其余部分一起提交,并且比删除名称然后可能忘记稍后设置它更清晰地删除该输入值。

当需要时,可以通过将disabled属性设置为false来使禁用的表单输入恢复活动状态。


那么我该如何使用jQuery设置禁用属性呢?因为我无法访问HTML代码,所以无法进行编辑。 - Alex
$('input[type=hidden]').attr('disabled',true)可以实现此功能 - 与修改名称属性的概念相同 - 但不太可能引起其他代码/函数的问题。 - gavgrif

0

试试这个

$('input[type=hidden]').removeAttr('name')

0
使用removeAttr()如下:
$(function() {
    $('input[type=hidden]').removeAttr('name');
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接