- 想先檢查一下,文本框中是不是包含頁面加載?
然後給它分配一些值。如何在頁面加載時獲取文本框的值,如果爲空?
if (document.getElementById("txtBoxID").value == null) { document.getElementById("txtBoxID").value = "Some text here"; }
但得到錯誤 「的JavaScript運行時錯誤:無法設置的未定義或空引用屬性‘值’」 如何做到這一點?
回答
你是否在頁面加載後執行上面的代碼?
window.onload = function() {
if (document.getElementById("txtBoxID").value == null) {
document.getElementById("txtBoxID").value = "Some text here";
}
}
請注意,window.onload
不是檢查是否加載頁面的最佳方法。這取決於瀏覽器的規格。請參閱window.addEventListener或window.attachEvent或IE。
這是因爲你的DOM還沒有準備好所以等到負載齊全:
window.onload=function(){
if (document.getElementById("txtBoxID").value == null) {
document.getElementById("txtBoxID").value = "Some text here";
}
};
你可能會試圖訪問元素,你在頁面定義之前,所以你應該執行該代碼在window.load
事件或移動代碼之前</body>
作爲替代,你可以使用支持許多現代瀏覽器placeholder
屬性
<input type="text" id="txtBoxId" placeholder="Some text here" />
如果輸入有沒有價值,佔位符值將顯示,而不是
(這種行爲polyfills可用於舊的瀏覽器)
您試圖訪問一個空(或undefined)屬性「價值」如果您的ID不是txtBoxID
對文本框值進行空值測試是不安全的。您應該使用空字符串。 我創建了一個的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 == ""));
(我使用的是Chrome)
使用虛假本質,'if(!document.getElementById(「txtBoxID」).value)''可能就足夠了。這將佔空,「」和0(這可能是一個問題)。 – Christoph
如果你有JQuery的可以在這裏是實現你所要求的另一種方式。在document.ready函數中,您可以使用文本框的id獲取文本的值,並將其包裝在JQuery中。這將允許您檢查並替換您的文本框的值,如果它是空的使用。VAL()函數
$(document).ready(function() {
if($('#id-of-your-textbox').val() == ' ')
{
$('#id-of-your-textbox').val('some text');
}
});
請嘗試下面的代碼,你需要在該行
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();" />
- 1. 如何獲取aspx頁面上的文本框值加載
- 2. 如何在頁面加載時設置文本框的值?
- 3. 當頁面加載時如何保持文本框的值
- 4. jquery的獲取文本框的值,如果不爲空
- 5. 如何在頁面加載時獲取下拉列表的值
- 6. 如何保留文本框中文本時,頁面加載
- 7. 如何獲取ascx頁面中的文本框值?
- 8. 如何獲取頁面init中的文本框值?
- 9. 如何在加載頁面時在文本框中存儲會話值?
- 10. 顯示文本框時,頁面加載
- 11. 第一次加載Jqxgrid頁面時在複選框列中獲取空值
- 12. 當頁面加載時在文本框中的默認文本
- 13. 如果文本框爲空,則使用文本框爲單元格添加值
- 14. 如何從har文件中獲取頁面加載時間?
- 15. 如果其中一個文本框爲空,如何計算文本框的值?
- 16. 如果文本框爲空,如何填充文本框?
- 17. CakePHP 2.x:加載SoftDelete行爲時獲取空白頁面
- 18. 如何使文本效果在加載頁面上重現
- 19. 如果頁面在一段時間內保持空閒狀態,爲輸入文本獲取「NULL/Empty」值?
- 20. 如何在文本框在程序啓動時加載的值
- 21. 如何在頁面加載SharePoint 2010後保留文本框中的值?
- 22. 在頁面加載時獲取數據
- 23. Elm:如何在使用Navigation.newUrl加載頁面時獲取數據?
- 24. 如何在頁面加載時自動獲取數據?
- 25. 如何在加載頁面時自動獲取動畫
- 26. 如何在頁面加載時獲取表單ID jquery
- 27. 如果空文本框爲空
- 28. 從ajax加載的頁面獲取值
- 29. 在頁面加載顯示javascript中的文本框中的值
- 30. 如何在aspx頁面中獲取用戶控件文本框的值?
你解決了你的問題嗎? – mortb