Lotus-Notes:通过Javascript重置Radiogroup

时间:2009-10-22 20:07:08

标签: javascript lotus-notes

我目前正在开发Lotus Notes解决方案。我们只是使用Web表单,因此客户端操作是通过Javascript完成的。​​

我想要完成的是重置一组无线电按钮。有3种可能性,我想不选择任何一种。 ('我们都不知道'没有一个'可能性,我知道但我们需要重置它们)

我目前使用:

//Unchecks a single group of Radio Buttons
//groupname - the name attribute of the group which selection needs to be unchecked
function clearRadioButtonGroup(groupName) {
    for(i=0;i<document.forms[0].elements[groupName].length;i++) {
                    document.forms[0].elements[groupName][i].checked = false;
            }
 }

此例程的问题是Radiogroup被重置,但在表单提交时,旧值被提交。有什么建议吗?

4 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的Domino?从7.x(我认为)开始,%% Surrogate字段作为HTML中的隐藏字段生成,您将能够重置,因此在取消选择所有单选按钮选项后,您可以清除%% Surrogate字段,然后您应该避免必须选择“以上都不是”选项。

马特

答案 1 :(得分:1)

您确定旧的价值实际上已提交吗?也许它只是没有在你正在编辑的NotesDocument中更新(擦除)?只是预感......

顺便说一下,您可以下载一个名为Fiddler的程序,它可以让您检查HTTP POST,并且您可以确认POST数据不包含该单选按钮组的任何值。这可能有助于缩小问题范围。

答案 2 :(得分:1)

问题在于清除单选按钮使得它们中没有关于它们的信息出现在提交的表单数据中,并且Domino似乎将其解释为没有更改字段而不是清除字段

我还没有找到任何我真正喜欢的解决方案,但我可以想到两个选择:

  1. 更改单选按钮以包含无选择选项。
  2. 替代方案有点块状:

    • 向表单添加一个可编辑字段以用作标记,使用css将其隐藏在Web浏览器中。
    • clearRadioButtonGroup也将标记字段设置为某个内容。
    • 让单选按钮的onChange事件清除标记字段。
    • WebQueryOpen座席中,如果标志字段为非空,请将单选按钮字段设置为空。

    另一种选择可能是使用一些聪明的javascript / css技巧来隐藏 no choice 选项并让clearRadioButtonGroup简单地设置该选项。

答案 3 :(得分:1)

在表单上输入以下HTML代码:

<input type="hidden" name="FieldName" id="FieldID" value="">

(FieldName和FieldID是表单上无线电字段的名称和ID)

当您通过Javascript重置收音机并提交文档时,该字段将重置为空白。