2012-04-14 16 views
10

¿Cuál es el error con la siguiente plantilla de formulario de Jade? No puedo conseguir que envíe valores.Enviar el formulario de Jade

div 
    form(action='/signup',method='post') 
    div(data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='email') email 
     input(id='email',type='text',value='',placeholder='@') 
    div#passworddiv(data-role='fieldcontain') 
     fieldset(data-role='controlgroup 
     label(for='password') password 
     input(id='password',type='password',value='',placeholder='') 
    div(id='hiddendiv',data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='hidden_password') password 
     input(id='hidden_password',type='text',value='',placeholder='') 
    div(data-role='fieldcontain') 
     fieldset(data-type='vertical', data-role='controlgroup') 
     label(for='showpass') show password 
     input(id='showpass',type='checkbox') 
    div(data-role='fieldcontain') 
     input(type='submit',value='Sign Up',data-transition='fade', data-theme='c') 

Respuesta

31

El problema se debe a que no ha asignado ningún nombre a ninguno de los campos de entrada.

app.post('/signup', function(req,res){ 
    console.log(req.body); 
}) 

Devuelve: {}

Si edita la forma a lo siguiente:

div 
    form(action='/signup',method='post') 
    div(data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='email') email 
      input(id='email',type='text',value='',placeholder='@',name='email') 
    div#passworddiv(data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='password') password 
      input(id='password',type='password',value='',placeholder='',name='password') 
    div(id='hiddendiv',data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='hidden_password') password 
      input(id='hidden_password',type='text',value='',placeholder='',name='password2') 
    div(data-role='fieldcontain') 
     fieldset(data-type='vertical', data-role='controlgroup')           
     label(for='showpass') show password 
     input(id='showpass',type='checkbox') 
    div(data-role='fieldcontain') 
     input(type='submit',value='Sign Up',data-transition='fade', data-theme='c') 

Después de introducir algunos datos,

app.post('/signup', function(req,res){ 
    console.log(req.body); 
}) 

devuelve:

{ email: '[email protected]', 
    password: 'asdf', 
    password2: 'asdf' } 
+0

Muchas gracias. funciona –

Cuestiones relacionadas