2013-05-11 1 views
0

Le javascript/jQuery à double soumettre méthode de prévention est ce que j'utilise:javascript/jQuery double Envoyer méthode de prévention désactive l'initiation des attributs de html5 (par exemple requis, motif, etc.)

$("#btnsubmit").click(function() { 
    $("#btnsubmit").attr('disabled','disabled'); 
    $('#postform').submit(); 
}); 

Donc soumettre click, la Submit Button est disabled et le formulaire est soumis. Donc, soumettre deux fois le formulaire ne se produira pas. MAIS. Le problème est maintenant que les attributs html5 ne seront pas initiés (par exemple Required, Pattern, etc.)

Est-ce que quelqu'un a des idées sur la façon de résoudre ce problème? Ou peut-être vous suggérer une méthode alternative de prévention des soumissions qui ne modifiera pas les attributs html5?

EDIT + DANIEL RÉPONSE PATZ:

$('#postform').on('submit', function (e) { 
    // THIS PART 
    var titleLength = $("#title").val().length; 
    var descriptionLength = $("#description").val().length; 
    if(titleLength < 20 || descriptionLength < 150) { 
     $("#ps").text("Title and Desc Problem."); 
    } else { 
    // UNTIL HERE 
     $('[type="submit"]').prop('disabled','disabled'); 
    } 
}); 

Répondre

4

Si vous attrapez l'événement submit, il devrait fonctionner. http://jsfiddle.net/tcc7u/

HTML:

<form> 
    <input required /><br /> 
    <input type="submit" /> 
</form> 

JS:

$('form').on('submit', function (e) { 
    $('[type="submit"]').prop('disabled','disabled'); 
}); 
+0

Ouais, désolé testait juste et oublié d'enlever le e. –

+0

une dernière question! Je veux ajouter quelques validations de jquery. comment puis-je et où puis-je l'insérer? J'ai essayé de barboter avec votre exemple mais le problème est que ma jquery valide mais le formulaire sera toujours soumis. Voir Modifier –

+0

Ne vous occupez pas de mon édition, je vais ajouter des fonctions de mise au point à valider à la place. Merci pour l'aide! –

Questions connexes