web-dev-qa-db-fra.com

jquery form soumettre avec .on ()

J'essaie d'envoyer un formulaire créé par jQuery. Le formulaire est ajouté à une div et la variable 'données' ci-dessous est créée en utilisant php, je vais simplement poster le code js le plus important.

J'ai essayé beaucoup de choses avec et sans 'on ()' mais je ne parviens pas à afficher le '1' dans la boîte d'alerte, de sorte que je sache que le bloc de code est réellement exécuté..th je ne comprends pas ce que je fais de mal, toute explication serait grandement appréciée. Merci d'avance!

$(".r5").click(function(event){
    var data='<select name="sForum"><option value="1">bla</option></select>';
    $(this).parent().next('div').html('<form class="moveform">'+data+'<input type="submit" name="submit" class="movethisform" value="Move Thread" /></form>');
});
$("form.moveform").on("submit",function(event){
    alert(1);
});
11
JustaN00b

Vous vous liez au formulaire avant qu'il n'existe. Liez l'événement au document et transmettez le sélecteur de formulaire à .on:

$(".r5").click(function(event){
    var data='<select name="sForum"><option value="1">bla</option></select>';
    $(this).parent().next('div').html('<form class="moveform">'+data+'<input type="submit" name="submit" class="movethisform" value="Move Thread" /></form>');
});
$(document).on("submit", "form.moveform", function(event){
    alert(1);
});
20
bfavaretto

as-tu essayé

$("inout.movethisform").on("click",function(event){
    alert(1);
    $("form.moveform").submit();
});
0
rt2800