JustaN00b
JustaN00b

Reputation: 317

jquery form submit with .on()

I'm trying to send a form created by jquery. The form is appended to a div and variable 'data' below is created using php, I'll just post the most important js code.

I tried many things with and without 'on()' but I fail in getting the alert box displaying the '1' so that I know the code block is actually executed..tbh I don't get what I'm doing wrong, any explanation would be greatly appreciated. Thanks in advance!

$(".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);
});

Upvotes: 11

Views: 33907

Answers (2)

rt2800
rt2800

Reputation: 3045

have you tried

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

Upvotes: 0

bfavaretto
bfavaretto

Reputation: 71939

You are binding to the form before it exists. Bind the event to the document, and pass the form selector to .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);
});

Upvotes: 20

Related Questions