2013-03-09 160 views
0

我對下面的文本框中FORM.A格內輸入名稱的文本框顯示從AJAX的幫助下,數據庫的註冊用戶名以用戶輸入的字母的onblur事件。用戶也可以點擊用戶名,這些名字將被放置在文本框中。此外,div將會消失。我已經爲文本框寫入了onblur事件,以便在丟失文本框的焦點時,創建div下面應該消失。這對我有用。我的問題是,我不能從下面的div中選擇名稱,因爲模糊事件fires.I需要onblur事件,因爲除選擇用戶名功能之外的所有其他事件需要此模糊事件。 我的代碼是這樣的:更改文本字段

<input id="venue" type="text" onkeyup="showData(this.value)" 
     onblur="return removediv()"/> 
<div id="venuesearch"> 
</div>//div for displaying the set of usernames with help of AJAX 

我的JavaScript代碼是:

function showData(str) 
{ 
     if (str.length==0) 
     { 
      document.getElementById("venuesearch").innerHTML = ""; 
      document.getElementById("venuesearch").style.border = "0px"; 
      return; 
     } 

     // some AJAX code here 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("venuesearch").innerHTML=xmlhttp.responseText; 
      document.getElementById("venuesearch").style.border="1px solid #A5ACB2"; 
      document.getElementById("venuesearch").style.display="block"; 
      document.getElementById("venuesearch").style.overflow="show";  
     } 

     xmlhttp.open("GET","search_venue.php?venue="+str,true); 
     xmlhttp.send(); 
} 

search_venue.php

有一個在列的onClick事件稱爲showVal()方法。

function showVal(val) 
{ 
    document.getElementById("venue").value = val; 
document.getElementById("venuesearch").style.display = "none"; 
} 

function removediv() 
{ 
    document.getElementById("venuesearch").style.display="none"; 
return false; 
} 

回答

1

試試這個:

function removediv() 
{ 
    document.getElementById("venuesearch").style.display="none"; 
    var venue = document.getElementById("venue").value; 
    return false; 
} 
+0

@Anaz A,其u或不工作? – 2013-03-09 12:20:48

+0

它爲我工作,但我想使文本字段無。 – Techy 2013-03-09 12:23:42

+0

@AnazA,textfield none的意思? – 2013-03-09 12:24:37