Recibiendo req.body vacío con formulario de correo con Express node.js

Tengo un formulario simple, que envía datos POST a mi servidor Node.JS, con Express. Esta es la forma:

<form method="post" action="/sendmessage">
  <div class="ui-widget">
      <input type="text" id="search" data-provide="typeahead" placeholder="Search..." />
  </div>
  <textarea id="message"></textarea>
</form>

El ui-widget y la entrada se repiten contypehead, una biblioteca autocompletada de Twitter. Y así es como manejo la solicitud POST en el servidor:

app.post('/sendmessage', function (req, res){

  console.log(req.body);

  usermodel.findOne({ user: req.session.user }, function (err, auser){

        if (err) throw err;

        usermodel.findOne({ user: req.body.search }, function (err, user){

            if (err) throw err;

             var message = new messagemodel({

                  fromuser: auser._id,
                  touser: user._id,
                  message: req.body.message,
                  status: false

             });

             message.save(function (err){

                  if (err) throw err;

                  res.redirect('/messages')

             })

        });

   });

});

La consola me muestra '{}', y luego un error conreq.body.search, porquesearch no está definido. No sé qué está pasando aquí, y no es un problema relacionado con eltypehead entrada. Alguna solución para este problema...?

¡Gracias de antemano!

Respuestas a la pregunta(4)

Su respuesta a la pregunta