2011-05-23 90 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

相關問題