Ciao, ho risolto facendo come detto nell'ultimo post, ovvero portando tutto il resto dello script (formato da altre funzioni), racchiuso tutto da un'altra funzione, all'interno dell'evento submit:
codice:
$("#mioForm")on("submit",function(){
e.preventDefault();
x = $("#nome").val()// qui recuperavo il valore
playGame() // all'interno di questa funzione ho messo tutto il resto dello script
});
Ho letto che le funzioni annidate possono accedere alle variabili delle funzioni più esterne ed infatti funziona tutto.
Ora però vorrei che mi aiutaste a capire il perchè del problema del post per non trascinarmi questa incomprensione nelle altre fasi dell'apprendimento.
L'unico modo che si ha per aggiornare una variabile mi pare di aver capito sia questo:
codice:
$(function() {
var x = 5;
function aggiornaVariabile() {
x = 15;
}
aggiornaVariabile()
$("#demo").html(x) // Stampa 15 e non 5
// perchè fondamentalmente sarebbe come scrivere
var x = 5;
x = 15;
Quindi mi confermate che non c'è modo per aggiornare una variabile globale dall'interno di una funzione per poi farne uso in altri punti dello script che non sia all'interno della funzione stessa?
codice:
$(function() {
var x = 5;
$("#mioForm).on("submit", function(e) {
e.preventDefault():
x = $("#test).val();
});
$("#demo").html(x) // Non posso utilizzare x al di fuori perchè non stampa il valore aggiornato (15) ma stampa il valore iniziale (5)
Scusate per le mille domande ma è un dubbio che devo assolutamente togliermi per evitare di trascinarmi errori in futuro.
Grazie.