if(document.frmMain.POL_NO.value == "")
{
    alert("Select Policy Number");
    document.frmMain.ENDT_NO.value="";
    document.frmMain.POL_NO.focus();
    return false;           
}

¿Alguien puede explicarme el código anterior? Soy nuevo en Javascript.

0
elson 25 sep. 2009 a las 10:35

6 respuestas

La mejor respuesta

Parece ser un código de validación para asegurarse de que un usuario haya ingresado un valor para un elemento denominado "Número de política". Es el tipo de código que se llama al enviar un formulario para verificar que los valores ingresados por el usuario sean válidos.

En detalle:

if(document.frmMain.POL_NO.value == "")

Solo ejecute este código si el elemento llamado en POL_NO el formulario llamado frmMain aún no tiene un valor.

alert("Select Policy Number");

Muestre un mensaje para indicarle al usuario que necesita ingresar un valor.

document.frmMain.ENDT_NO.value="";

Establezca el elemento ENDT_NO de frmMain en un valor en blanco.

document.frmMain.POL_NO.focus();

Establezca el foco en el elemento POL_NO (lo mismo que el usuario lo tabula o hace clic en él).

return false;

Devuelva falso al código que llamó a la función en la que se encuentra este código. Si este código se usa en el controlador de eventos para el botón de envío en un formulario, entonces devolver falso detendrá el envío del formulario al servidor hasta que el elemento POL_NO tenga un valor.

7
andynormancx 25 sep. 2009 a las 07:48

document.frmMain es un formulario en la página, y POL_NO y ENDT_NO son campos en el formulario, presumiblemente cuadros de lista.

Este código es un script de validación simple para asegurarse de completar el formulario correctamente.

//if POL_NO hasn't been set (no policy number selected):
if(document.frmMain.POL_NO.value == "")
{
    //show a message box
    alert("Select Policy Number");

    //clear the value (if any) of ENDT_NO
    document.frmMain.ENDT_NO.value="";

    //set the form focus to POL_NO (select it, as if you had clicked on it)
    document.frmMain.POL_NO.focus();

    //stop the form from being submitted
    return false;               
}

Supongo que este código es parte de una función que se llama por el evento frmMain onSubmit (y el controlador de eventos) - cuando la función devuelve false el envío se cancela. Si esto no estuviera aquí, mostraría el cuadro de mensaje, borraría ENDT_NO, seleccionaría POL_NO y luego enviar de todos modos.

Tenga en cuenta que hacer referencia a los miembros de un formulario en la forma document.formName.fieldName.property está en desuso. La forma correcta es usar getElementById o una función similar:

document.frmMain.ENDT_NO.value = "";           //bad
document.getElementById("ENDT_NO").value = ""; //correct
3
Carson Myers 25 sep. 2009 a las 06:48

Documento HTML

Su documento HTML tiene esto definido en algún lugar de su contenido

<form id="frmMain" ...>
    <input type="..." id="POL_NO">
    <input type="..." id="ENDT_NO">
</form>

Código SCRIPT

Entonces. Su script verifica si su campo de entrada POL_NO tiene un valor.

  1. Si no lo hace (es una cadena vacía),
  2. muestra una alerta (ventana de información) y
  3. vacía el valor del campo ENDT_NO y
  4. pone el foco en el campo POL_NO, para que el usuario pueda comenzar a seleccionar / escribir un valor de inmediato en este campo
  5. Devuelve falsa - probablemente para cancelar el envío del formulario

Lógica de negocios

Según la lógica de este script, el proceso de negocio obviamente no permite ningún valor en el campo ENDT_NO, hasta que haya un valor en POL_NO.

Observación

Si necesita cambiar algo sobre este código (si hay un error), le sugiero encarecidamente que conozca Javascript / DOM / HTML antes de hacer cualquier cambio.

3
Robert Koritnik 25 sep. 2009 a las 06:55

En realidad, su código hace una validación bastante simple, solo lea el código y encuentre los campos POL_NO y ENDT_NO en su salida HTML. Aquí están mis comentarios:

// if your POL_NO field is empty, 
if(document.frmMain.POL_NO.value == "")
{
 // warn user that he need to select Policy number
 alert("Select Policy Number");
  // set ENDT_NO field's value to empty
 document.frmMain.ENDT_NO.value="";
 // set POL_NO active - focussed
 document.frmMain.POL_NO.focus();
 return false;

 }
0
Canavar 25 sep. 2009 a las 06:41

Si el contenido del elemento POL_NO del formulario frmMain está vacío, entonces lanza una alerta y cambia el valor del elemento ENDT_NO a nada (vacío) y luego enfócate en el elemento POL_NO. Devuelva false después de eso (supongo que este código se ejecuta en el evento onSubmit, por lo que el formulario no se enviará si POL_NO no tiene un valor)

Probablemente la lógica es que ENDT_NO no puede tener un valor si POL_NO está vacío.

¡Disfrutar!

3
Bogdan Constantinescu 25 sep. 2009 a las 06:41

Si el valor de la entrada denominada POL_NO en el formulario frmMain está vacío, muestre un mensaje "Seleccionar número de política", vacíe la entrada denominada ENDT_NO, enfoque la entrada denominada POL_NO y salga de la función con el valor de retorno " falso".

0
Fabien Ménager 25 sep. 2009 a las 06:41