Javascript 当rmuboolean和effectivedate(输入日期之后)不为空时,我希望能够看到“displayrmuform”
代码如下: 从生效日期计算日期后,此函数调用“displayRmuForm”。 它不起作用:Javascript 当rmuboolean和effectivedate(输入日期之后)不为空时,我希望能够看到“displayrmuform”,javascript,Javascript,代码如下: 从生效日期计算日期后,此函数调用“displayRmuForm”。 它不起作用: var displayRmuForm = function() { var txtEffectiveDate= $get('ctl00_ContentPlaceHolder1_DetailsView1_txtEffectiveDate'); if (!rmuVisible && txtEffectiveDate.value.length > 0 ) {
var displayRmuForm = function() {
var txtEffectiveDate= $get('ctl00_ContentPlaceHolder1_DetailsView1_txtEffectiveDate');
if (!rmuVisible && txtEffectiveDate.value.length > 0 ) {
$(".container").show(250);
} else {
$(".container").hide(250);
}
rmuVisible = !rmuVisible;
}
var effectiveDate_blur = function(e) {
var effectiveDate = null;
if (this.value.length > 0) {
effectiveDate = new Date(eval('"' + this.value + '"'));
setRmuDates(effectiveDate);
displayRmuForm();
}
}
尝试使用e.target而不是这个
更安全:调用事件处理程序,将“this”的值作为另一个参数传递
免责声明:我不是JS开发人员请尝试在模糊处理程序中强制rmuVisible为false,如下所示。。。我认为函数正在启动,但是没有满足显示表单的条件
var effectiveDate_blur = function(e) {
var effectiveDate = null;
if (this.value.length > 0) {
effectiveDate = new Date(eval('"' + this.value + '"'));
setRmuDates(effectiveDate);
**rmuVisible = false;**
displayRmuForm();
}
}
是不是在呼叫你的模糊处理程序?要么调试,要么发出警报什么的
您还没有向我们展示如何将函数连接到事件,因此它可能很简单,浏览器甚至不知道如何调用effectiveDate_blur函数。您所说的“不工作”是什么意思?如果有,您是否会收到错误,如果是,请列出它。它没有调用“displayRmuForm”-无错误:cf,要对dom事件进行更多的检查。这就是为什么我建议将其作为函数参数传递,例如onclick='effectiveDate\u blur This',然后您就可以正确地基于.value.length。你可以在代码中插入一条语句,看看有什么不对劲,它正在改进,但我仍然需要在页面上额外单击,在“displayRMUForm”上显示日期。有没有办法我不必做额外的点击?谢谢你的意见在用户在“生效日期”字段中输入值之前,禁用您的rmu复选框如何?然后,您可以在复选框上触发检查或单击事件,并弹出表单。他们根本不需要点击复选框。只有在您选择有效日期时暗示“rmu”时,这才有效。如果没有任何要求,我们无法了解您应用程序的业务规则。可能只是禁用复选框,然后在effectiveDate_blur函数中启用它。允许用户单击它并弹出表单。希望这有帮助。