Lo único incorrecto es la forma en la que tomas el valor del
<select>
. Hasta
document.frm.opcion
es correcta la secuencia, pero después accedes al conjunto de opciones que contiene y desde allí pretendes tomar un valor, siendo que el valor es del
<select>
y no del conjunto de opciones. Es tanto como pretender tomar "el valor" de un arreglo, como si el arreglo mismo tuviera un valor distintivo.