2013-06-28 51 views
1
  1. 想先檢查一下,文本框中是不是包含頁面加載?
  2. 然後給它分配一些值。如何在頁面加載時獲取文本框的值,如果爲空?

    if (document.getElementById("txtBoxID").value == null) { 
    document.getElementById("txtBoxID").value = "Some text here"; 
    } 
    
  3. 但得到錯誤 「的JavaScript運行時錯誤:無法設置的未定義或空引用屬性‘值’」 如何做到這一點?

+0

你解決了你的問題嗎? – mortb

回答

0

你是否在頁面加載後執行上面的代碼?

window.onload = function() { 
    if (document.getElementById("txtBoxID").value == null) { 
    document.getElementById("txtBoxID").value = "Some text here"; 
    } 
} 

請注意,window.onload不是檢查是否加載頁面的最佳方法。這取決於瀏覽器的規格。請參閱window.addEventListener或window.attachEvent或IE。

0

這是因爲你的DOM還沒有準備好所以等到負載齊全:

window.onload=function(){ 
    if (document.getElementById("txtBoxID").value == null) { 
    document.getElementById("txtBoxID").value = "Some text here"; 
    } 
}; 
0

你可能會試圖訪問元素,你在頁面定義之前,所以你應該執行該代碼在window.load事件或移動代碼之前</body>

作爲替代,你可以使用支持許多現代瀏覽器placeholder屬性

<input type="text" id="txtBoxId" placeholder="Some text here" /> 

如果輸入有沒有價值,佔位符值將顯示,而不是
(這種行爲polyfills可用於舊的瀏覽器)

0

您試圖訪問一個空(或undefined)屬性「價值」如果您的ID不是txtBoxID

0

對文本框值進行空值測試是不安全的。您應該使用空字符串。 我創建了一個的jsfiddle這說明這一點:

<input type="text" id="txtBx" /> 

document.getElementById("txtBx").value = null; 
alert("test 1 textbox is null \n" + (document.getElementById("txtBx").value == null)); 

alert("test 2 textbox is empty string \n" + (document.getElementById("txtBx").value == "")); 

http://jsfiddle.net/kZhHa/3/

(我使用的是Chrome)

+0

使用虛假本質,'if(!document.getElementById(「txtBoxID」).value)''可能就足夠了。這將佔空,「」和0(這可能是一個問題)。 – Christoph

0

如果你有JQuery的可以在這裏是實現你所要求的另一種方式。在document.ready函數中,您可以使用文本框的id獲取文本的值,並將其包裝在JQuery中。這將允許您檢查並替換您的文本框的值,如果它是空的使用。VAL()函數

$(document).ready(function() {   
    if($('#id-of-your-textbox').val() == ' ') 
    { 
     $('#id-of-your-textbox').val('some text'); 
    } 
}); 
0

請嘗試下面的代碼,你需要在該行

Name: <input type="text" id="myText" value=''> 

這裏先將該值設置爲空爲演示:

function func() { 
 
    if (document.getElementById("myText").value == '') { 
 
    document.getElementById("myText").value = "Some text here"; 
 
    } else { 
 
    alert("not null"); 
 
    } 
 
}
Name: <input type="text" id="myText" value=""> 
 

 
<p>Click the button to change the value of the text field.</p> 
 
<input type="button" id="button" value="Click Me" onClick="func();" />

相關問題