Bonjour à tous,
J'ai ce formulaire
1 2 3 4 5
| <form method="#" name="formCreateProposition" id="formCreateProposition">
<input type='text' id='itmref' name='line[0][itmref]' value=''>
<input type='text' id='qty' name='line[0][qty]' class='qty'>
<button type="button" id="btRegisterProposition" onClick="portail.crm.registerProposition()">Enregistrer</button>
</form> |
Côté javascript j'ai ce code pour traiter le formulaire
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| publics.registerProposition = function() {
$('.qty').each(function() {
$(this).rules('add',
{
required: true,
messages: {
required: 'Quantité obligatoire',
}
});
});
$('#formCreateProposition').validate();
formData.push({name: 'a', value: 'registerproposition'});
formData.push({name: 'j', value: '1'});
$.ajax({
url: config['url'] + config['plugin'] + config['include'] + '/form.php',
type: 'POST',
dataType: 'json',
data: formData,
...
} |
Sur ce test mon but est de vérifier que le champ .qty n'est pas vide. Lorsque je clic sur le bouton btRegisterProposition en laissant .qty vide le code passe totalement au travers du test du champ et continu tranquillement l'exécution pour s'écraser bêtement avec l'erreur :
Uncaught TypeError: a.data(...) is undefined
De ce que j'ai compris c'est parce que je ne passe pas vraiment par Submit() et il y aurait un moyen de contourner ça mais je n'ai pas trouvé de doc qui explique vraiment (ou alors j'ai rien compris) comment faire. Est-ce que vous avez déjà été confronté à ce problème ?
P.S. : ça fait peu de temps que je bricole avec jquery
Partager