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

Passing a specific value for a hidden field using javascript

本文关键字:字段 javascript 隐藏 使用      更新时间:2023-09-26

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

对于单选按钮1-3,我希望它发布电子邮件状态="I",并且电子邮件频率为"All"、"Weekly"或"Monthly"

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

我似乎无法让两者都起作用——它要么只通过I,然后unsob单选按钮不起作用,要么电子邮件状态会为unsob显示O,然后为按钮1-3显示null值。

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

<input type="radio"name="EMAIL_FREQUENCY_STATUS"value="W"id="EMAIL-FREQUENCY_STATUS">每周的<input type="radio"name="EMAIL_FREQUENCY_STATUS"value="M"id="EMAIL-FREQUENCY_STATUS">月刊<input type="radio"name="EMAIL_FREQUENCY_STATUS"value="A"id="EMAIL-FREQUENCY_STATUS">全部的<input type="radio"name="EMAIL_STATUS"value="O"id="EMAIL_STATUS">取消订阅!<input name="Update"type="image"value="Send"src="Update_btn.jpg"alt="Update">

我尝试过使用不同的javascript函数,但无法使其按预期工作。任何帮助都会很棒!

更新7/11:

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

<input type="radio"name="EMAIL_Weekly"value="W"id="EMAIL_Weekly"onClick="document.getElementById('MAIL_STATUS').value=I"/>每周给我发1封电子邮件<input type="radio"name="EMAIL_Monthly"value="M"id="EMAIL_ Monthly"onClick="document.getElementById('MAIL_STATUS').value=I"/>每月给我发一封电子邮件。<input type="radio"name="EMAIL_All"value="A"id="EMAIL_All"onClick="document.getElementById('MAIL_STATUS').value=I"/>把所有的新闻、销售和优惠发给我。<input type="radio"name="EMAIL_STATUS"value="O"id="EMAIL_STATUS"onClick="document.getElementById('MAIL_STATUS').value=O"/>取消订阅我的所有电子邮件。<input name="Update"type="image"value="Send"src="Update_btn.jpg"alt="Update"><input type="hidden"name="EMAIL_STATUS"value="id="EMAIL_STATUS"/>
<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>

我去掉了所有单选按钮的id属性;它们是重复的,可能不需要。我给它们起了相同的名字——当你取消订阅时,没有频率,所以它应该取消选中频率。只有一个选择的单选按钮是没有意义的;如果您不希望它成为组的一部分,那么它应该是一个复选框,而不是单选按钮。

就我个人而言,我看不出隐藏领域的意义。你不能在服务器代码中做同样的事情吗?