Hola, <s: ...> significa que son etiquetas struts (estoy utilizando struts2). El código del método es el siguiente (no puedo poner la jsp entera por ser demasiado larga):
Código:
...<script type="text/javascript">
...
function ArrivalFlightCreate()
{
var airline = document.forms[0].iataCompanyCode[formArrival.iataCompanyCode.selectedIndex].value;
var flightNumber = document.forms[0].flightNumber.value;
var airport = document.forms[0].originAirport[formArrival.originAirport.selectedIndex].value;
var flightType = document.forms[0].flightTypeCode[formArrival.flightTypeCode.selectedIndex].value;
var ruleCode = document.forms[0].ruleCode[formArrival.ruleCode.selectedIndex].value;
var scheduled = document.forms[0].scheduled[formArrival.scheduled.selectedIndex].value;
var joined = document.forms[0].joined[formArrival.joined.selectedIndex].value;
var situacion = document.forms[0].idSituation[formArrival.idSituation.selectedIndex].value;
//comprobamos las fechas, y despues si los campos obligatorios estan rellenos
var fechaValida = comprobandoFechas();
if (fechaValida == "true" || fechaValida == "")
{
if (airline == null || airline == '')
{
alert('<s:text name="errorEmptyAirline"/>');
}
else
{
if (flightNumber == null || flightNumber == '')
{
alert('<s:text name="errorEmptyFlightNumber"/>');
}
else
{
if(flightType == null || flightType =='')
{
alert('<s:text name="errorEmptyFlightType"/>');
}
else
{
if (ruleCode == null || ruleCode == '')
{
alert('<s:text name="errorEmptyRuleCode"/>');
}
else
{
if (scheduled == null || scheduled == '')
{
alert('<s:text name="errorEmptyScheduled"/>');
}
else
{
if (joined == 'F' || joined == 'P')
{
alert('<s:text name="errorFullJoined"/>');
}
else
{
if (situacion != null && situacion != '')
{
alert('<s:text name="errorFullSituation"/>');
}
else
{
if (airport == null || airport == '')
{
alert('<s:text name="errorEmptyAirport"/>');
}
else
{
document.forms[0].action = "/AODB/scheduling/arrivalFlight/ArrivalFlightCreate.action";
document.forms[0].submit();
}
}
}
}
}
}
}
}
}
else
{
if (fechaValida == "errorFormatDate")
{
alert("<s:text name="errorFormatDate"/>");
}
if (fechaValida == "errorFormatHour")
{
alert("<s:text name="errorFormatHour"/>");
}
if (fechaValida == "errorMinutes")
{
alert("<s:text name="errorMinutes"/>");
}
if (fechaValida == "errorHour")
{
alert("<s:text name="errorHour"/>");
}
if (fechaValida == "errorEmptyHour")
{
alert("<s:text name="errorEmptyHour"/>");
}
if (fechaValida == "errorYear")
{
alert("<s:text name="errorYear"/>");
}
if (fechaValida == "errorMonth")
{
alert("<s:text name="errorMonth"/>");
}
if (fechaValida == "errorDayOfWeek")
{
alert("<s:text name="errorDayOfWeek"/>");
}
}
}
...
</script>
</head>
<body>
<div id="contenedor">
<s:include value="../../../jsp/application/menu.jsp"/>
<div id="contenido">
...
<td style="width:100px">
<div id="botones">
<s:a href="#" onclick="QueryFl()"><img
src="../../web/images/icono_buscar.png"
alt="<s:text name="queryButtonArrivalFlight" />"
border="0"/></s:a>
<s:a href="#" onclick="ArrivalFlightCl()"><img
src="../../web/images/icono_cancelar.png"
alt="<s:text name="clearButtonArrivalFlight" />"
border="0"/></s:a>
<s:a href="#" onclick="ArrivalFlightCreate()"><img
src="../../web/images/icono_aceptar.png"
alt="<s:text name="createButtonArrivalFlight" />"
border="0"/></s:a>
</div>
</td>
</tr>
<tr>
<td><s:text name="mandatoryFields"/></td>
</tr>
</table>
</s:form>
</div>
</div>
<div id="listOfArrivals">
... </div>
</div>
<div id="pieAncho"><s:actionerror /></div>
</div>
</div>
</body>
</html>
Lo que me parece raro es que al cargar la página la primera vez todo funcione bien, y al cargarla una segunda vez, cuando he creado el primer objeto, ya no funcione la referencia al método.
Un saludo