Javascript SilverStripe:如何使字段有条件地成为必填字段(或表单不可提交)?
在SilverStripe 3.1.4中,我正在为我的一个数据对象执行一个复杂的管理界面,其中-取决于下拉菜单的所选选项-一个或两个文本字段被禁用或启用以进行管理输入。我仍然需要做的是在启用相应的字段时使其成为必需的字段 我尝试了以下代码,试图连接到Save按钮操作:Javascript SilverStripe:如何使字段有条件地成为必填字段(或表单不可提交)?,javascript,forms,silverstripe,required,Javascript,Forms,Silverstripe,Required,在SilverStripe 3.1.4中,我正在为我的一个数据对象执行一个复杂的管理界面,其中-取决于下拉菜单的所选选项-一个或两个文本字段被禁用或启用以进行管理输入。我仍然需要做的是在启用相应的字段时使其成为必需的字段 我尝试了以下代码,试图连接到Save按钮操作: (function ($) { $.entwine('ss', function () { $('#Form_ItemEditForm_action_doSave').entwine({
(function ($) {
$.entwine('ss', function () {
$('#Form_ItemEditForm_action_doSave').entwine({
onclick: function (e) {
alert('submitting')
var selectedItem = $('#Form_ItemEditForm_Symbol option:selected').text();
if (selectedItem.indexOf('%1') > -1 && $.trim($('#Form_ItemEditForm_Placeholder1').val()) == '') {
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
}
});
});
})(jQuery);
这似乎不起作用-表单仍然提交,警报从未显示
我有什么遗漏吗
我还试图补充:
Behaviour.register({
'#Form_ItemEditForm' : {
initialize : function() {
this.observeMethod('BeforeSave', this.beforeSave);
},
beforeSave: function() {
alert("You clicked save");
}
}
});
但是从那时起,表单就一直没有加载。很可能不是您想要的答案,但我在这种情况下使用了以下方法:事实上,它没有动态设置为必需,但感谢指针-我提出了一个功能增强问题。另外,我喜欢通过浏览其他模块的代码来学习。