Две функции в onblur

HunteR

Super Moderator
Здравейте.
Имам едно поле: <input type="text" onBlur="parva()">
Както виждате вътре има една JS функция parva().
Въпроса ми е как може в onBlur да сложа 2 функции.
Има ли начин.
Да стане така:

<input type="text" onBlur="parva() vtora()">
пробвах да ги разделя с точка и запетая(;), но пак май не става:
<input type="text" onBlur="parva(); vtora()">

Та как ще стане номера :)
 
Еми аз се сетих за втория вариянт, който ми предлагаш, но не става. Има ли начин иначе се вкарат в 1 onBlur-а 2 функции?
 
Не, не че ми е много ценен кода, но просто не ми се пишеше толкова :D
Ето каква ми е целта.

Имам си AJAX код.
Код:
var xmlHttp

function check(str, id)
{
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
        alert ("Browser does not support HTTP Request")
        return
    }
    var url="check.php"
    url=url+"?q="+str
    url=url+"&id="+id+"&sid="+Math.random()
    xmlHttp.onreadystatechange=stateChanged
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)

}

function stateChanged(id)
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
     document.getElementById("txtHint_"+id).innerHTML=xmlHttp.responseText
    }
}

function GetXmlHttpObject()
{
    var objXMLHttp=null
    if (window.XMLHttpRequest)
    {
        objXMLHttp=new XMLHttpRequest()
    }
    else if (window.ActiveXObject)
    {
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
    return objXMLHttp
}
Както виждате функцията check има 2 атрибута. Втория е id, който ни интересува нас в случая.
Значи вижте този ред:

document.getElementById("txtHint_"+id).innerHTML=xmlHttp.responseText

тук ("txtHint_"+id) трябва да е id, но тъй като това вече е друга функция id не се запазва.


Опитах следното. Ето в този код:
xmlHttp.onreadystatechange=stateChanged
да го направя така:
xmlHttp.onreadystatechange=stateChanged(id)
и да придаде id на втората функция, но нещо не иска после да изпълнява кода: document.getElementById("txtHint_"+id).innerHTML=xmlHttp.responseText

Пробвах обаче да сложа първата фунцкия примерно в onBlur, a втората(stateChanged) в onKeyUp и стана, но има разминавания. За това Ви питах дали може да се сложат 2 функции в onBlur :)

Надявам се да съм обяснил правилно.

ЕДИТ: @emagi и по твоя начин чрез 3-та функция не стана. Поне аз не го можах да го направя :)
 
В този случай каква стойност връща xmlHttp.responseText
Направи следното:направи така, че да ти върне като част от отговора самото id.ДА кажем нещо такова:
xmlHttp.responseText = "otgowor|2";
където 2 ти е самото id.Как ще направиш да върне id , мисля знаеш
Така, след това ще имаш следния ред:
function stateChanged(id)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var result = xmlHttp.responseText.split("|"); document.getElementById("txtHint_"+result[0]).innerHTML=result[1];
}
}
 
emagi каза:
В този случай каква стойност връща xmlHttp.responseText
Направи следното:направи така, че да ти върне като част от отговора самото id.ДА кажем нещо такова:
xmlHttp.responseText = "otgowor|2";
където 2 ти е самото id.Как ще направиш да върне id , мисля знаеш
Така, след това ще имаш следния ред:
function stateChanged(id)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var result = xmlHttp.responseText.split("|"); document.getElementById("txtHint_"+result[0]).innerHTML=result[1];
}
}
Мерси много. И аз така мислех по едно време да го правя, но не знаех, че в JS има функция като explode в php :)
Мерси много :P
 

Back
Горе