使用javascript为隐藏字段传递特定值

使用javascript为隐藏字段传递特定值,javascript,forms,radio-button,hidden-field,Javascript,Forms,Radio Button,Hidden Field,我在电子邮件首选项中心工作,用户有4个选项-3个选项用于电子邮件频率,最后一个选项是取消订阅。我的表单通过两个不同的字段-电子邮件频率和电子邮件状态。“电子邮件状态”字段有问题 对于单选按钮1-3,我希望它发布电子邮件状态=“I”,并且电子邮件频率为“全部”、“每周”或“每月” 对于最后一个单选按钮,我只希望它发布电子邮件status=“O” 我似乎无法使两者都起作用-它要么只通过I,然后不明嫌犯单选按钮不起作用,要么电子邮件状态将为不明嫌犯发布O,但按钮1-3的值为空 下面是我正在使用的基本代

我在电子邮件首选项中心工作,用户有4个选项-3个选项用于电子邮件频率,最后一个选项是取消订阅。我的表单通过两个不同的字段-电子邮件频率和电子邮件状态。“电子邮件状态”字段有问题

对于单选按钮1-3,我希望它发布电子邮件状态=“I”,并且电子邮件频率为“全部”、“每周”或“每月”

对于最后一个单选按钮,我只希望它发布电子邮件status=“O”

我似乎无法使两者都起作用-它要么只通过I,然后不明嫌犯单选按钮不起作用,要么电子邮件状态将为不明嫌犯发布O,但按钮1-3的值为空

下面是我正在使用的基本代码

<input type="radio" name="EMAIL_FREQUENCY_STATUS" value="W" id="EMAIL_FREQUENCY_STATUS" >Weekly <input type="radio" name="EMAIL_FREQUENCY_STATUS" value="M" id="EMAIL_FREQUENCY_STATUS"> Monthly <input type="radio" name="EMAIL_FREQUENCY_STATUS" value="A" id="EMAIL_FREQUENCY_STATUS"> All <input type="radio" name="EMAIL_STATUS" value="O" id="EMAIL_STATUS"> Unsubscribe! <input name="Update" type="image" value="Send" src="update_btn.jpg" alt="Update" > 周报 月刊 全部的 退订! 我尝试过使用不同的javascript函数,但无法使其按预期工作。 任何帮助都会很棒

11月7日更新:

这是我尝试过的一种代码变体

<input type="radio" name="EMAIL_Weekly" value="W" id="EMAIL_Weekly" onClick="document.getElementById('EMAIL_STATUS').value=I"/>Send me 1 email per week <input type="radio" name="EMAIL_Monthly" value="M" id="EMAIL_Monthly" onClick="document.getElementById('EMAIL_STATUS').value=I"/> Send me 1 email per month. <input type="radio" name="EMAIL_All" value="A" id="EMAIL_All" onClick="document.getElementById('EMAIL_STATUS').value=I"/> Send me all news, sales & offers. <input type="radio" name="EMAIL_STATUS" value="O" id="EMAIL_STATUS" onClick="document.getElementById('EMAIL_STATUS').value=O"/>Unsubscribe me from all emails. <input name="Update" type="image" value="Send" src="update_btn.jpg" alt="Update" > <input type="hidden" name="EMAIL_STATUS" value="" id="EMAIL_STATUS" /> 每周给我发一封电子邮件 每月给我发一封电子邮件。 将所有新闻、销售和优惠信息发送给我。 取消订阅我的所有电子邮件。

功能更新权限(perm){
document.getElementById('EMAIL\u PERMISSION\u STATUS')。value=perm;
}
每周给我发一封电子邮件
每月给我发一封电子邮件。
将所有新闻、销售和优惠信息发送给我。
取消订阅我的所有电子邮件。
我去掉了所有单选按钮的
id
属性;它们是重复的,可能不需要。我给了他们相同的名字——当你取消订阅时,没有频率,所以应该取消选中频率。只有一个选择的单选按钮没有意义;如果您不希望它成为组的一部分,它应该是一个复选框,而不是单选按钮


就我个人而言,我看不出隐藏字段的意义。您不能在服务器代码中执行相同的操作吗?

请至少显示您的一次尝试,以便我们可以解释您的错误所在。表单中的隐藏字段在哪里?单选按钮集中的所有输入都需要具有相同的名称。单击“取消订阅”按钮不会关闭其他按钮,因为它具有不同的名称。并且您有重复的ID,这是不允许的。我已添加了我尝试使用的代码版本。如果所有单选按钮都需要具有相同的名称,您建议我如何设置此首选项中心?我需要有电子邮件频率按钮,然后还有一个不明嫌犯按钮。如果我更改了电子邮件频率按钮,使其具有不同的值…是否有方法将按钮1-3的电子邮件状态=I传递给不明嫌犯按钮,然后仅将电子邮件状态=O传递给不明嫌犯按钮?
<script>
function update_permission(perm) {
  document.getElementById('EMAIL_PERMISSION_STATUS').value = perm;
}
</script>

<form ...>
    <input type="radio" name="EMAIL_FREQUENCY_STATUS" value="W" onclick="update_permission('I')"/>Send me 1 email per week
    <input type="radio" name="EMAIL_FREQUENCY_STATUS" value="M" onclick="update_permission('I')"/> Send me 1 email per month.
    <input type="radio" name="EMAIL_FREQUENCY_STATUS" value="A" onclick="update_permission('I')"/> Send me all news, sales & offers. 
    <input type="radio" name="EMAIL_FREQUENCY_STATUS" value="O" onclick="update_permission('O')"/>Unsubscribe me from all emails.

    <input name="Update" type="image" value="Send" src="update_btn.jpg" alt="Update" >
    <input type="hidden" name="EMAIL_PERMISSION_STATUS" value="" id="EMAIL_PERMISSION_STATUS" />
</form>