views:

80

answers:

3

How can I submit a form when a field (In this case the form only has one field) loses focus?

I tried this, but it's not working:

$("form").submit();

UPDATE

I forgot to mention that the form was created with jquery as well:

$("div").html('<form action="javascript:void(0)" style="display:inline;"><input type="text" value="' + oldValue + '"></form>');

This is probably why it won't submit, I think it's because the events aren't being observed.

+3  A: 

Trigger the form's submit() event when the field loses focus. You can detect this by attaching a blur() event handler to it.

$("#field").blur(function() {
  $("#form").submit();
});

If you field doesn't have an ID or other means of easily identifying it (which I would recommend) you could also do something like this:

$("#form :input").blur(function() {
  $("#form").submit();
});

since there's only one field.

cletus
+1  A: 

What about this

var $yourForm = $('#form');

$yourForm.find('input').eq(0).blur(function() {

    $yourForm.submit();
});
alex
+1  A: 
$('form :input').blur(function() {
    $(this).closest('form').submit();
});
PetersenDidIt