更改文本字段
问题描述:
我对下面的文本框中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;
}
答
试试这个:
function removediv()
{
document.getElementById("venuesearch").style.display="none";
var venue = document.getElementById("venue").value;
return false;
}
@Anaz A,其u或不工作? – 2013-03-09 12:20:48
它为我工作,但我想使文本字段无。 – Techy 2013-03-09 12:23:42
@AnazA,textfield none的意思? – 2013-03-09 12:24:37