繁体   English   中英

使用隐藏的表单域

[英]Using a hidden form field

因此,我正在使用一个隐藏的表单字段,并使用我的JQuery代码onSubmit中的数据填充它。 问题是,JQuery填充了两个Type =“ Hidden”字段。 我只希望它填充name =“ moment”,如何解决此问题?

这是我的html:

<form method="post" action="momentactions.php">
    <input type="hidden" name="album_id" value="<?php echo $album_id; ?>">
    <input type="hidden" name="moment">
    <input type="submit" name="submit" value="submit">
</form>

这是我的JQuery:

$('form').on('submit', function() {
    values = [];
    $('#container-top img').each(function() {
    values.push($(this).attr('value'));
    });
$('input[type=hidden]').val(JSON.stringify(values));
});

简单如:

input[type="hidden"][name="moment"]

但仍然-提取所有值,序列化它们并发送序列化的序列不是一个好主意

这行代码

$('input[type=hidden]')

说“给我所有具有隐藏类型的输入元素”,因为您只希望其中一个可以做一些不同的事情。

您可以为所需的输入字段指定一个ID,然后使用jQuery ID选择器(#):

$('#idgoeshere')

或者,您可以给所需的输入字段一个类,然后使用类选择器(。):

$('.classgoeshere')

或者您可以保留当前的html并使用属性选择器,就像您当前的选择器只是一个不同的属性一样:

$('input[name="moment"]')

尝试这个

$('input[type=hidden][name=moment]').val(JSON.stringify(values));

同样不要忘记关闭输入标签。

$('input[name=moment]')
$('input[name=moment]:hidden')

都是有效的选择器。

我建议您在输入标签上添加id =“ moment”

<input type="hidden" name="moment" />

更改为

<input type="hidden" name="moment" id="moment" />

所以在您的代码上,您可以使用

$('input#moment').val(JSON.stringify(values));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM