2011-05-23 91 views
0

是否有可能给变量如果theyre没有定义的onload的默认值?是否可以给一个变量的默认值

我有我的脚本变量这就需要相乘,只有他们采取的价值从输入字段等负载他们都空...

代码:

var conMin = document.getElementById('cMin').value; 
var serLev = document.getElementById('sLev').value; 
var coreHrs = conMin * serLev * noFrames; 
var noFrames = 1800 
+1

你可以发布你的脚本吗?我最好的猜测是你是过于复杂的东西:) – TJHeuvel 2011-05-23 13:26:37

+4

你为什么不给输入字段的默认值? – 2011-05-23 13:27:24

+0

'code'var conMin = document.getElementById('cMin').value; 。 \t变种serLev =的document.getElementById( 'SLEV')值; \t VAR coreHrs = conMin * serLev * NOFRAMES; \t无功无框架= 1800;'code' – lg87 2011-05-23 13:28:59

回答

2

做这样的事情

var conMin = document.getElementById('cMin').value || 'cMin_default'; 
var serLev = document.getElementById('sLev').value || 'sLev_default'; 

如果左边的值为false,0,“”,null或未定义,则该变量将被分配右边的值。

+0

谢谢纳文,请问这是如何工作的? – lg87 2011-05-23 13:31:46

+0

如果变量已经被设置为是不正确的(如'0'),则该值将被通过覆盖默认的值。 – Quentin 2011-05-23 13:32:24

+0

@ LG87 - 如果左侧为true,操作员将返回左侧,否则返回右侧。 – Quentin 2011-05-23 13:34:12

0
if (typeof someVar === "undefined") { 
    someVar = 'a default'; 
} 
0

您可以尝试几件事情。

正如已经建议,你可以填充用默认值输入字段作为一种可能性。作为另一种方法,不是直接从输入字段中提取值,而是在将它们带入并存储在变量中(即变量如var变量中,而不是像document中那样的变量)时执行一些验证。这会给你一个机会来检查值是否合适,如果它是空白的,请填写默认值,如下所示:

var conMin = '2'; //or whatever default value you want 
if (document.getElementByID('cMin').value != '') { 
    conMin = document.getElementByID('cMin').value; 
} 
+0

谢谢戈登,我现在试过这个,只有当我试图乘以3个变量时它仍然返回NaN,你有什么想法是什么原因造成的? – lg87 2011-05-23 13:36:20

+0

因为它们是字符串。你必须首先使用'parseInt'将它们转换为整数 – 2011-05-23 22:45:24

相关问题