Buongiorno a tutti,spero innanzitutto di non aver sbagliato thread per esporvi il mio problema.
Vorrei una vostra consulenza/aiuto riguardo un usercript che ho elaborato.
Premessa:sono un autodidatta,aimè senza solide basi nei linguaggi di programmazione (da qui i possibili e svariati errori),ma con tanta voglia di imparare e mettermi alla prova.
Cerco di sintetizzare il mio problema.
Prendendo spunto da vari script utente contenuti in librerie e studiando le diverse opzioni apllicabili ad essi ,ho ottenuto uno script sfruttando Jquery e Ajax che preleva un valore (stesso id) da più pagine riportandolo nella colonna di una tabella situata in un'altra pagina dello stesso sito.
Riporto lo script ottenuto e funzionante
Ma nulla:il valore restituito non è la somma delle 2 variabili,ma il susseguirsi dei 2 valori.
La cosa cambia se pongo "var playerAge = n" ovvero un numero naturale intero come succede all'altra variabile "playerRoutine" (=5).
Da quanto deduco,ma potrei benissimo sbagliarmi,la somma delle 2 variabili non avviene perchè "var playerAge = risult.player.age"
mi restituisce nella tabella si un valore numerico,ma che in realtà è solomente una stringa non "operabile".Giusto?
Sto provando a cambiare .attr() con .val() riuscendo solo a fare confusione.
C'è qualcuno in grado di aiutarmi sempre se quanto chiedo sia fattibile?
Vi ringrazio in anticipo sperando di non esser stato dispersivo nell'esposizione del problema
Luigi
Vorrei una vostra consulenza/aiuto riguardo un usercript che ho elaborato.
Premessa:sono un autodidatta,aimè senza solide basi nei linguaggi di programmazione (da qui i possibili e svariati errori),ma con tanta voglia di imparare e mettermi alla prova.
Cerco di sintetizzare il mio problema.
Prendendo spunto da vari script utente contenuti in librerie e studiando le diverse opzioni apllicabili ad essi ,ho ottenuto uno script sfruttando Jquery e Ajax che preleva un valore (stesso id) da più pagine riportandolo nella colonna di una tabella situata in un'altra pagina dello stesso sito.
Riporto lo script ottenuto e funzionante
Codice:
unsafeWindow.jQuery(document).ajaxComplete(function(event, xhr, settings)
{
rebindClicks();
if (settings.url === "/ajax/transfer.ajax.php")
{
calcoloVal();
}
});
function rebindClicks()
{
$.each($('#pages').find('span'), function(index, span)
{
var clickAntigo = $(span).attr('onclick');
$(span).removeAttr('onclick');
$(span).off('click');
$(span).on('click', function()
{
eval(clickAntigo);
calcoloVal()();
rebindClicks();
});
});
}
function calcoloVal()
{
$("tr.header").append("<th class='valore' title='' style='width: 60px; cursor: pointer;''>New Val</th>");
var indix = "";
$("div.player_name > a").each
(function(e, player)
{
indix = "player_id="+ $(player).attr("player_link");
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://trophymanager.com/ajax/tooltip.ajax.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4)
{
var risult = JSON.parse(xhr.responseText );
$("a[player_link=" + risult.player.player_id + "]").closest("tr").append("<td class='right align_right valore' style='padding-right:5px;color: gold;'><span>" + risult.player.age + "</span></td>");
}
}
xhr.send(indix);
}
);
}
Fin qui tutto ok.
Ho cercato di implementarla aggiungendo una semplice somma nella parte finale della funzione calcoloVal() trasformandola come segue:
function calcoloVal()
{
$("tr.header").append("<th class='valore' title='' style='width: 60px; cursor: pointer;''>New Val</th>");
var indix = "";
$("div.player_name > a").each
(function(e, player)
{
indix = "player_id="+ $(player).attr("player_link");
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://trophymanager.com/ajax/tooltip.ajax.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4)
{
var risult = JSON.parse(xhr.responseText );
var playerAge = risult.player.age;
var playerRoutine = 5;
var somma = function(a,b){
return (a + b);
}(playerRoutine,playerAge);
$("a[player_link=" + risult.player.player_id + "]").closest("tr").append("<td class='right align_right valore' style='padding-right:5px;color: gold;'><span>" + somma + "</span></td>");
}
}
xhr.send(indix);
}
);
}
Ma nulla:il valore restituito non è la somma delle 2 variabili,ma il susseguirsi dei 2 valori.
La cosa cambia se pongo "var playerAge = n" ovvero un numero naturale intero come succede all'altra variabile "playerRoutine" (=5).
Da quanto deduco,ma potrei benissimo sbagliarmi,la somma delle 2 variabili non avviene perchè "var playerAge = risult.player.age"
mi restituisce nella tabella si un valore numerico,ma che in realtà è solomente una stringa non "operabile".Giusto?
Sto provando a cambiare .attr() con .val() riuscendo solo a fare confusione.
C'è qualcuno in grado di aiutarmi sempre se quanto chiedo sia fattibile?
Vi ringrazio in anticipo sperando di non esser stato dispersivo nell'esposizione del problema
Luigi
Ultima modifica di un moderatore: