Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/11/2011, 04:58
Pelirr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: javascript no acepta propiedad o método

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