Grazie a tutti per le risposte,
alla fine ho risolto con javascript (a quanto pare unica soluzione a questo fastidioso problema)!!