cómo evitar que el formulario se envíe si ambos valores son válidos

Hola, a continuación se muestra el código que estoy usando para mi formulario para validar las identificaciones ingresadas en dos campos de entrada.Todo el código está funcionando bien.La única cosa es cómo evitar que el formulario se envíe si ambos campos no son válidos ya que estoy deshabilitando y habilitando Enviar botón si la devolución del registro es verdadera. pero si algún campo es válido, entonces el botón Enviar está habilitando y permitiendo al usuario enviar el formulario.

<form>
<input type="text" id="1" value=""/>
<input type="text" id="2" value=""/>
<input type="submit" value="submit"  id="submitbutton" >
</form>
<script type="text/javascript">
            $$(document).ready(function() {             
            $$('#1').blur(function() {              
            var id = $$('#1').val();             
            $$.getJSON("user.cfc?method=getRequests&returnformat=json&queryFormat=column",{"status":id}, function(res1,code) {

                if(res1.ROWCOUNT > 0){  

                  for(var i=0; i<res1.ROWCOUNT; i++) {                      
                    s = "<span class='dPostTxt'>" + res1.DATA.ID[i] + " " + res1.DATA.FIRST_NAME[i] + " " + res1.DATA.LAST_NAME[i] + " " + "is valid." + "</span>";
                  };                  
                 $$('#submitbutton').removeAttr('disabled');//now id is valid so enabling submit button                  
                } 
                else {
                  $$('#submitbutton').attr('disabled', 'disabled'); //error with id so disabling button 
                  alert(" ID Is Not Valid.Please Enter Valid ID");
                  var s = "Entered  ID Is Not Valid.";                                  
                }     

                $$("#results").html(s);                
                },"json");                  
           });  }); 
    </script>

<script type="text/javascript">
            $$(document).ready(function() {              
            $$('#2').blur(function() {              
            var id = $$('#2').val();             
            $$.getJSON("user.cfc?method=getRequests&returnformat=json&queryFormat=column",{"status":id}, function(res,code) {

                if(res.ROWCOUNT > 0){  

                  for(var i=0; i<res.ROWCOUNT; i++) {                   
                    s = "<span class='dPostTxt'>" + res.DATA.ID[i] + " " + res.DATA.FIRST_NAME[i] + " " + res.DATA.LAST_NAME[i] + " " + "is valid." + "</span>";
                  };
                 $$('#submitbutton').removeAttr('disabled');//now id is valid so enabling submit button                  
                } 
                else {                  
                  $$('#submitbutton').attr('disabled', 'disabled'); //error with id so disabling button 
                  alert(" ID Is Not Valid.Please Enter Valid ID");
                  var s = "Entered  ID Is Not Valid.";                                  
                }     

                $$("#results1").html(s);                
                },"json");                  
           });  }); 
    </script>

preguntado el 16 de mayo de 11 a las 19:05

¿Qué pasa con todos los signos de dólar doble? ($$??) -

generalmente es el resultado de colocar jQuery en una página que ya tiene algo asignado a $ -

porque dos <script> bloques, porque dos $$... ¿qué es esto, el arca de noé? :) -

Nota al margen: no puede usar números como ids -

Tampoco lo haría el segundo $$(document).ready(function() { sobrescribir el primero de todos modos? No creo que tener dos de ellos funcionaría bien. -

2 Respuestas

$("form").submit(function() { 
    bool valid = goValidateForm();
    if(!valid)
        return false; //prevents form from submitting
    else
        goDoSomeCoolStuff();

});

contestado el 16 de mayo de 11 a las 23:05

asigne sus cheques para disparar $("form").submit() en lugar de onBlur de los campos. de esa manera, puede verificar ambos estados al mismo tiempo, tal vez disparar una alerta a la página si los valores de su formulario son incorrectos, etc.

contestado el 17 de mayo de 11 a las 00:05

$$ es para que hice var $$ = jQuery.noConflict (); que está funcionando bien, el código funciona bien, lo único es que el formulario superior no se envíe si algún valor o es una validación de error - cfnew

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.