Rido, il tuo codice è davvero difficile da leggere per me a causa del modo in cui sta mescolando alcune cose e non seguire nessuna delle solite convenzioni per la spina dorsale.
Per il tuo problema specifico, ho la sensazione che il problema sia che tu stia legando sia la vista di modifica che la nuova visione del corpo (el: corpo), entrambi rispondono all'evento invio e non stai mai chiaramente ripulindo le opinioni, quindi io pensare Che ogni volta che aggiungi un progetto e poi lo modifichi, la vista ADD è ancora in memoria, ancora vincolata all'evento di invio e risponde ancora al nuovo progetto Call = con il nuovo nome, invece di modificare.
È "facile" risolvere in modo sporco, aggiungendo una chiamata allo stop -istening dopo l'aggiunta, ma il vero problema è che ti stai legando al corpo e mescola il router spina dorsale e il controllo manuale hash + altri strani schemi, come il recupero La collezione ogni 5 righe (potresti crearne una solo all'inizio dell'app e usarla sempre! Eccolo LocalStorage in modo che non importa, ma se ti spostarai in una memoria remota, te ne pentirai ... prendi () Ripristina la raccolta e fai una ricarica completa!). Posso suggerirti forse provare a riscriverlo senza preoccuparti di JQuery Mobile e solo provare a farlo funzionare con la spina dorsale.Router + una singola collezione + non vincolando al corpo ma invece, crea le viste sul volo e aggiungono loro al corpo / rimuovi quando hai finito? Vedrai che i bug saranno meno strani e più facili da tracciare.