2014-01-03 4 views
1

Я использовал этот код для проверки местоположения пользователя, входящего в поле ввода, в нашей БД. В настоящее время, если он соответствует отдельному диапазону, обновляется, чтобы показать, что он соответствует.Изменение цвета входного фона при подтверждении ввода

Однако я хотел бы изменить это, чтобы поле ввода, которое пользователь в настоящее время имеет, имеет цвет фона, обновленный, если есть совпадение.

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 запрашивает БД и returnes #FFFFFF если что нет никакого совпадения, и #C000C0, если есть совпадение. Вместо обновления диапазона с идентификатором, я хотел бы обновить фактический цвет фона ввода.

В другом сценарии я использую $(this).css("background-color", color); Можно ли использовать то же самое? и используйте $ (this), чтобы обновить поле, в котором они сейчас находятся?

Как странице есть форма поле место называется LOC [] и может появляться несколько раз, так что использование $ (это) может сделать его легче найти фактическое поле ввода они в настоящее время.

Спасибо

+0

Если другой сценарий, который вы упомянули, используется в на той же странице (подразумевается, что jQuery включен на странице), затем YES. Вы можете использовать '$ (<идентификатор окна ввода>). Css (« background-color », color);'. –

+0

@ srvikram13 Спасибо за ответ. Я надеялся использовать $ (this), а не $ (<идентификатор окна ввода>), поскольку каждый вход имеет то же имя/id. Думаю, что у них должны быть уникальные идентификаторы. Спасибо – MacMan

+1

Идентификаторы элементов на странице HTML должны быть уникальными. Если вы хотите получить доступ к кучке похожих или связанных элементов, рассмотрите возможность использования класса. –

ответ

1

In another script I use $(this).css("background-color", color); Is it possible to use the same ? and use $(this) so it updates the field they are currently in ?

вы можете передать объект event источника с помощью this kewword, вам необходимо добавить новый параметр в функции местоположения.

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

    //OR 

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


    ///Your code goes here. 
} 

Редактировать На основе замечаний

Вы уже проходящими this.value вы должны пройти это и не нужно второй параметр

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

    //OR 

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

    ///Your code goes here. 
} 
+0

Спасибо. Я думаю, что понял. Я попробую это и посмотрю, что я получу. – MacMan

+0

Добро пожаловать, хорошо, как вы называете местоположение? – Adil

+0

Я использую 'onkeyup =" location (this.value) ", если я пытаюсь изменить this.value, чтобы str это ошибки. – MacMan

Смежные вопросы