如果javascript验证返回false,如何在提交模式中停止表单?

时间:2013-02-22 05:39:24

标签: javascript jquery forms jquery-ui validation

好的,我有这样的表格:

<div id="reg_mov" title="Agregar Movimiento" style="display:none;">
<form style="width:590px;" method="POST" action="saveMovement.php" onSubmit="return checkFormAndSubmit(this)">
    <br>
    <input style="display:none;" type="text" name="cliente" value=<?php echo $_GET['cliente']; ?>>
    <label>Fecha: </label>
    <input type="date" name="fecha_mov" /><br><br>
    <label>Inversion del Dia: </label>
    <input type="text" name="inversion_mov" />&nbsp;&nbsp;&nbsp;&nbsp;
    <label>Tipo de Cambio: </label>
    <input type="text" name="tipo_cambio" /><br />
    <label>Crecimiento de Fans: </label>
    <input type="text" name="fans" />&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="corte" />
    <label>Corte</label><br /><br />
    <label style="color:#486288; font-size:16px; font-weight:600;">Dep&oacute;sito</label><br><br>
    <label>Cantidad: </label>
    <input type="text" name="cantidad_deposito" />&nbsp;&nbsp;&nbsp;&nbsp;
    <label>Dato de Pago: </label>
    <select id="datoPago" name="dato_pago" onChange="checkValue()" ><option>Credito</option><option>Deposito</option></select><br /><br />
    <label id="Tarjeta" >Tarjeta: </label>
    <input class="Tarjeta" type="text" name="tarjeta" />&nbsp;&nbsp;&nbsp;&nbsp;
    <label id="Notas">Notas: </label>
    <textarea style="font-size:10px;"cols="30" maxlenght="200" name="notas"></textarea>
    <br /><br />
    <button style="margin-left:230px;" onClick="submitThisForm(this.form)">Guardar</button>
    <button style="margin-left:10px;" onClick="closeDialog()">Cancelar</button>
</form>

我用这个javascript代码验证它:

function checkFormAndSubmit(form){

    if(form.fecha_mov.value == null || form.fecha_mov.value == "")
    {
        alert('Selecciona una fecha correcta por favor');
        return false;
    }
    else
    {
        if(!form.inversion_mov.value.match(/^-?\d+$/) || !form.inversion_mov.value.match(/^-?\d+*\.\d+$/))
        {
            alert('Ingresa un valor valido para la Inversión del Dia');
            return false;
        }
        else
        {
            if(!form.tipo_cambio.value.match(/^-?\d+$/) || !form.tipo_cambio.value.match(/^-?\d+*\.\d+$/))
            {
                alert('Ingresa un valor válido para el Tipo de Cambio');
                return false;
            }
            else
            {
                if(!form.fans.value.match(/^-?\d+$/))
                {
                    alert('Ingresa un valor válido para el número de Fans');
                    return false;
                }
                else
                {
                    if(form.cantidad_deposito.value != "")
                    {
                        if(!form.cantidad_deposito.value.match(/^-?\d+$/) || !form.cantidad_deposito.value.match(/^-?\d+*\.\d+$/))
                        {
                            alert('Ingresa un valor válido para la Cantidad del Depósito');
                            return false;
                        }
                        else
                        {   
                            return true;
                        }
                    }
                }
            }
        }
    }
}

我使用jquery UI对话框呈现表单:

 $(function(){
 $("#reg_mov").dialog({
       height:350,
       width:610,
       modal:true,
   });
});

当我点击我定义提交的按钮时,它运行验证,如果出现错误,它会显示相同的警报两次,然后仍然提交表单。如何停止提交事项或进行此验证的正确方法是什么?

0 个答案:

没有答案