【问题标题】:Passing a specific value for a hidden field using javascript使用 javascript 为隐藏字段传递特定值
【发布时间】:2013-07-09 02:52:05
【问题描述】:

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

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

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

我似乎无法让两者都工作 - 它要么只通过 I,然后取消订阅单选按钮不起作用,要么电子邮件状态将为取消订阅发布 O,但随后按钮 1-3 为空值。

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

每周 每月 全部 退订!

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

7/11 更新

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

每周向我发送 1 封电子邮件 每月向我发送 1 封电子邮件。 向我发送所有新闻、销售和优惠。 退订我的所有电子邮件。

【问题讨论】:

  • 请至少展示您的一次尝试,以便我们解释您哪里出错了。表单中的隐藏字段在哪里?
  • 单选按钮集中的所有输入必须具有相同的名称。点击取消订阅按钮不会关闭其他按钮,因为它有不同的名称。
  • 你有重复的ID,这是不允许的。
  • 我添加了我尝试使用的代码版本。如果所有单选按钮都需要具有相同的名称,您如何建议我将这个首选项中心设置为?我需要有电子邮件频率按钮,然后还有一个取消订阅按钮。
  • 如果我将电子邮件频率按钮更改为具有不同的值...有没有办法为按钮 1-3 传递电子邮件状态=I,然后只为取消订阅按钮传递电子邮件状态=O ?

标签: javascript forms radio-button hidden-field


【解决方案1】:
<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 属性;它们是重复的,可能不需要。我给它们都起了相同的名字——当你取消订阅时,没有频率,所以它应该取消选中频率。只有一个选项的单选按钮没有意义;如果您不希望它成为组的一部分,它应该是一个复选框,而不是单选按钮。

就个人而言,我没有看到隐藏字段的意义。你不能在服务器代码中做同样的事情吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多