如何使用javascript将字段强制设置为false
How can i set field mandatory to false using javascript
我是使用javascript编写netsuite脚本的新手。我想问,如何使用javascript将字段强制设置为false。
希望有人能帮助我。
注意:
如果在客户端脚本中使用nlapiGetField(fieldname)
返回nlobjField
对象,则返回的对象为read-only
。这意味着您可以对对象使用nlobjField
getter方法,但不能使用nlobjField
setter方法设置字段属性。
但是您可以使用nlapiSubmitRecord(item_obj, true, true);
忽略记录上的强制字段。有关更多详细信息,请查看方法中包含的参数nlapiSubmitRecord(record, doSourcing, ignoreMandatoryFields);
您使用的方法是正确的,但客户端脚本中不支持setMandatory
。相反,您可以尝试在User Event,Before Load事件处理程序中使用完全相同的代码。
与文档相反,nlapiGetField
返回的nlobjField
不是只读的。一些setter方法在客户端仍然有效(例如setDisplayType
)。您可以试验哪些有效,哪些无效,但客户端已确认不支持setMandatory
。
在客户端脚本上使用SS2.0,您可以强制使用以下代码:
var newSupervisorField = context.currentRecord.getField('custrecord_new_supervisor');
newSupervisorField.isMandatory = true;
这是基于@erictgrubaugh和@user3627301 的输入对我有效的方法
function fieldChanged(type,name){
var metodPayment=nlapiGetFieldText('field_id_to_check');
if ((name == 'field_id_to_monitor_for_change') && (metodPayment=='Financing')) {
var field1 = nlapiGetField('field_id_to_be_disabled');
field1.setDisplayType('disabled');
}
}
您可以使用SuiteScript 2.0设置强制,尽管它在1.0中不起作用。
下面是一个在客户记录上使用客户端脚本的示例片段
var currentRecord;require(['N/currentRecord'], (currentRecord) => {
var field = currentRecord.get().getField('comments');
field.isMandatory = true;
})
也许我的回答已经晚了,但对于其他看到这篇文章的人来说,这是我通过客户端脚本完成的方式。
nlapiSetFieldMandatory('yourFieldId', true);
这已经测试过了,因为我经常使用它。虽然有些人说你不能通过客户端将字段设置为必填字段,但你可以。不过,我在netsuite文档中没有找到任何关于这方面的文档。
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如何将localStorage值设置为false
- 如何使用javascript将字段强制设置为false
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 如何通过Javascript启用链接按钮最初设置为Enable=false
- 当可见属性设置为 false 时,使用 JavaScript 删除空格
- 至于所有输入的标签都用指定的属性来设置,例如属性检查=false
- 如何使函数将属性值从 FALSE 设置为 TRUE
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 如何添加 Object.prototype.x?设置为 enumerable:false
- jqgrid在条件下动态设置单元格可编辑false
- Unity 3d事件触发器将gameobject.active设置为false
- 单击命令按钮后需要设置rich:simpleTogglePanel open=false
- 将DIV ID内的所有链接设置为返回false
- 在unslider.js中设置true或false
- 如何为 jqPlot 中的特定数据系列设置 Stack Series false
- 无法获取 document.getElementById(“wp_mep_1”).autoplay=false;以在设置
- 为什么从指令中更改外部作用域需要 scope.$apply(),即使我将范围选项设置为 false
- angular I只能设置'true'on'ng-if'但我可以't设置`false'
- 覆盖保留字(设置 false = true)