2012-12-01 120 views
1

這是我的HTML代碼the code! 但JS不工作 我嘗試了一些東西,但我不能讓彈出的窗口,如果它小於2在JS中獲取字符串長度

<script> 
    function Check(name) { 
     if (name.length < 2) 
      alert("פחות משני תווים בשם"); 
    } 
</script> 

<input 
    id="Text1" 
    name="Text1" 
    type="text" 
    value="שם פרטי" 
    onmouseover="value=''" 
    onclick="Check();" 
/> 
+2

你的代碼應該做什麼? –

+0

將this.value傳遞給Check()函數 –

回答

0

你應該將參數傳遞給你的函數:

<input id="Text1" name="Text1" type="text" value="שם פרטי" onmouseover="value=''" onclick="Check(this.value);" /> 
+1

'this'會比'document.getElementById('Text1')更好的選項' –

+0

我絕對同意 –

1

你的避風港沒有正確地連接你的功能。你需要傳遞一個值。在onclick事件的情況下,this指的是input元素本身,其值可以用this.value檢索。您需要在價值傳遞給您的Check()功能:

<input id="Text1" name="Text1" type="text" value="שם פרטי" 
    onmouseover="this.value=''" onclick="Check(this.value);" /> 

同樣,你應該設置與this.value='value'空,因爲我也有在你的代碼調整值。我不知道mouseover事件的意圖是什麼,但是這種事件組合只有在用戶的光標從不離開文本框時才起作用,這對許多用戶來說肯定是違反直覺的。

0

嘗試將參數傳遞給你的函數: -

Check(this.value); 

<input id="Text1" name="Text1" type="text" value="שם פרטי" onmouseover="value=''" onclick="Check(document.getElementById('Text1').value);" /> 
0

您可以通過檢查(這個),那麼它會得到文本字段的值。

+0

不,'this'是輸入元素本身,而不是它的值。 –

+0

當然,但你可以使用this.value –

相關問題