单选按钮验证
Radio button validations
我在Dynamics CRM 2011表单上有一系列不同的字段。我使用javascript来执行各种检查。其中之一是将特定字段设置为"required",以防止用户在为该字段赋值之前保存表单。(强制)
Xrm.Page.data.entity.attributes.get("new_FieldA1").setRequiredLevel("required");
然而,我的一些字段是单选按钮。上面的代码似乎不能正确地工作。我认为是/否选项中的"否"被视为无效。这意味着如果选择"No",我仍然会得到一条消息"您必须为FieldA1提供一个值"。
谁能建议一个工作,所以"不"是允许的?谢谢。
要检查必填字段,(如果表单上的特定字段已完成)用户选择一个单选按钮作为表单底部的最后一个选项("将此表单标记为已完成?")当选择Yes时,以下函数执行一些基本检查:
function FormSaveAlert()
{
if (Xrm.Page.getAttribute("new_formcompleted").getValue() == true)
{
if (confirm("Are you sure this form is complete? 'n Once saved, this form cannot be modified again.") == false)
{
Xrm.Page.getAttribute("new_formcompleted").setValue(false);
}
else
{
var HF1 = Xrm.Page.getAttribute("new_hf1field");
HF1.setRequiredLevel("required");
if (HF1.getValue()==null) {HF1.setValue(false);}
//Xrm.Page.data.entity.attributes.get("otherfield").setRequiredLevel("required");
}
}
}
如果表单被标记为完整,并且某个字段是必需的,但包含null,则会出现阻止保存的消息。动态中的默认消息- "你必须为HF1提供一个值"
我做了一个测试,我可以复制这个问题,如果我设置两个选项为null
,在我选择No
之后,getValue
函数返回null
而不是false
。
(我只使用Google Chrome,但因为是一个支持的自定义,它必须适用于所有浏览器)
如果在您的需求中是可能的(显示No
作为默认值),我建议通过代码强制默认值,如以下示例:
var fieldA1 = Xrm.Page.getAttribute("new_FieldA1");
fieldA1.setRequiredLevel("required");
if (fieldA1.getValue()==null) { fieldA1.setValue(false); }
必填字段必须有一个值,但位字段总是有一个值,所以我实际上希望它被视为包含一个值,即使它看起来没有。
你可以发布的onChange代码x_formcompleted太,因为这是什么触发的错误?
你这里有两个字段,我不太明白它们如何相互作用的逻辑。
当然你只需要一个,如果勾选要求他们确认,如果他们改变主意,它会重置。
还可以考虑使用值为yes/no/null的选项集(有一个内置的全局选项集)。将Null ("unassigned")设为默认值,并将字段设为必填(不是通过脚本,只是始终在字段属性中)。
- 使用警报框验证单选按钮,以便可以接受或拒绝它
- 如何在引导程序3中验证单选按钮
- 如何验证单选按钮
- 如何验证单选按钮
- 我想用 JavaScript 验证单选按钮,以测验我的代码需要什么
- Adobe 表单的 Javascript 验证(单选按钮)
- 需要帮助使用 JavaScript 验证单选按钮
- j查询动态验证单选按钮选择
- 验证单选按钮组
- 使用 JavaScript 验证单选按钮
- 按类名验证单选按钮的窗体
- Javascript:验证单选按钮
- 使用JS confrim对话框验证单选按钮
- 使用Javascript验证单选按钮
- 如何验证单选按钮
- jQuery验证单选按钮组
- 表单验证单选按钮
- 在转到下一页之前,如何验证单选按钮?
- 如何验证单选按钮选项
- 第二次验证单选按钮集