Parsiram JSON fajl da bih proverila da li se korisnicko ime poklapa sa imenom ili prezimenom, ako se nadje poklapanje kroz promenljivu IPime punim TextBox promenljivu tb. To sve radi, jer pozivom date aspx strane dobijam ispravne vrednosti u textBox polju. Problem nastaje kada hocu da to sto vidim u tb polju (dakle u TextBox promenljivoj tb) smestim sa jos nekim podacima u txt fajl, jer ne znam sa kojim dogadjajem da hvatam ovu izmenjenu vrednost. Napravila sam test fajl i isprobala za sve dogadjaje iz ciklusa strane, pravila sopstveni, pa ga trigerovala i nista. Vraca mi default Text="???" iako polje zaista dobije vrednost "ima" ili "nema".
Evo koda:
$.getJSON(url,function(json){
$.each(json,function(key, val){
if (key == "error")
{ime="error";
username="err";}
else
{
items.push('<li >' + key + ' ' + val + '</li>');
if (key == "first_name")
{ ime=val.toUpperCase();
}
if (key == "last_name")
{ prezime=val.toUpperCase();
}
if (key == "username")
{ username=val.toUpperCase();
}
}
});
if (ime == username)
{
IPime="ima";
document.getElementById("tb").innerText="ima"; }
else
if (prezime == username)
{
IPime="ima";
document.getElementById("tb").innerText="ima"; }
else
{
IPime="nema";
document.getElementById("tb").innerText="nema"; }
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="tb" runat="server" Text="???" OnTextChanged="tb_TextChanged"></asp:TextBox>
</form>
</body>
</html>
Ima predloga za ovako nesto na msdn, ali ja moram da realizujem pamcenje u txt bez da kliknem i iniciram onclick(). So, mora da ima neki nacin da se detektuje izmena textbox-a programski.
<html>
<head>
<script type="text/javascript">
function onChange(textbox) {
log("onChange (" + textbox.value + ")");
}
function programmaticChange() {
log("programmaticChange");
var textbox = document.getElementById("textbox");
textbox.value += "*";
if (typeof(textbox.onchange) == "function") textbox.onchange();
}
function log(text) {
document.getElementById("log").innerHTML += "<br>" + text;
}
</script>
</head>
<body>
<input type="text" id="textbox" onchange="onChange(this)" />
<a href="#" onclick="programmaticChange(); return false">programmaticChange</a>
<hr />
<div id="log"></div>
</body>
</html>