更改输入背景颜色作为条目验证

时间:2014-01-03 09:23:06

标签: jquery forms input xmlhttprequest

我一直在使用此代码来检查用户在输入字段中输入的位置是否存在于我们的数据库中。目前,如果匹配,则会更新单独的范围以显示其匹配。

但是我想改变它,以便用户当前所在的输入框如果匹配则更新背景颜色。

function location(str)
{
if (str.length==0)
  {
  document.getElementById("location").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        document.getElementById("location").innerHTML=xmlhttp.responseText;
    }
  }

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

check.php查询数据库并返回#FFFFFF如果不匹配,#C000C0是否匹配。我想更新实际的输入框背景颜色,而不是使用ID位置更新范围。

在另一个脚本中,我使用$(this).css("background-color", color); 是否可以使用相同的?并使用$(this)以便更新它们当前所在的字段?

由于页面是一个表单,位置字段名为loc []并且可能出现多次,因此使用$(this)可以更容易地找到它们当前所在的实际输入字段。

由于

1 个答案:

答案 0 :(得分:1)

  

在另一个脚本中,我使用$(this).css(“background-color”,color);是吗   可以使用相同的?并使用$(this)以便更新字段   他们目前在?

您可以使用event kewword传递this源对象,您需要将新参数添加到位置函数。

function location(str, source)
{
    $(source).css("background-color", color);

    //OR

    source.style.backgroundColor = color;         //or using native method


   ///Your code goes here.
}

修改根据评论

您已经传递了此值。您应该传递此值,并且不需要第二个参数

function location(source)
{
    str = source.value
    $(source).css("background-color", color);

    //OR

    source.style.backgroundColor = color;         //or using native method    

   ///Your code goes here.
}