2010-10-06 61 views
0

我有一個文本框,我寫的JavaScript函數,如果它是空白的,那麼它會產生alertbox。 但我按該文本框中的空間,然後它不會生成alertbox。如何爲此編寫javaScript函數?

所以我想,如果我給空間,那麼它也會產生警報箱,對於這個怎麼辦?

我用這個功能:

function Trim(objValue) { 
    var lRegExp = /^\s+/; 
    var rRegExp = /\s+$/; 
    objValue = objValue.replace(lRegExp, ''); //Perform LTRim 
    objValue = objValue.replace(rRegExp, ''); //perform RTrim 
    return objValue; 
} 
function ValidateTextBoxIncome() { 
    var txtEnterItems = document.getElementById("txtEnterItems"); 
if (Trim(txtEnterItems) == '') { 
     alert("Cannot be blank"); 
     return false; 
    } 
} 

哪裏是錯誤?請給我建議。

+0

我假設你實際上將ValidateTextBoxIncome作爲事件處理程序添加到某個事件中。這是正確的,還是這是你所有的JavaScript? – 2010-10-06 14:28:11

回答

3

您正在將DOM對象傳遞給您的函數,但打算傳遞該文本框的值。替換此行:

if (Trim(txtEnterItems) == '') { 

由:

if (Trim(txtEnterItems.value) == '') { 
+0

謝謝先生,我犯了錯誤。現在它的工作正常。 – Shalni 2010-10-06 14:28:54

0

更換

var txtEnterItems = document.getElementById("txtEnterItems"); 

var txtEnterItems = document.getElementById("txtEnterItems").value; 
0

嘗試以下操作:

function ValidateTextBoxIncome() { 
    var txtEnterItems = document.getElementById("txtEnterItems"); 
    if (Trim(txtEnterItems.value).length == 0) { 
     alert("Cannot be blank"); 
     return false; 
    } 
} 
+0

我從來沒有見過像jQuery這樣的框架,所以我期待純Javascript。 'String.length'不是一個函數。 – Lekensteyn 2010-10-06 14:33:58

+0

@Lekensteyn:你說得對。長度不是函數,而是字符串對象的屬性。我已經相應地更改了代碼。 – 2010-10-06 14:43:05