2016-01-20 47 views
0

我正在使用Keystone.js,并在页面底部放置了查询表单。它基本上只是由Keystone Generator为contact.js视图提供的示例的副本。我可以让它正确提交并显示错误,但是在提交后,浏览器会将我置于页面的顶部。发布到查询后,是否有办法跳转到页面上的定位点?在帖子后跳转到锚

var keystone = require('keystone'); 
var Enquiry = keystone.list('Enquiry'); 

exports = module.exports = function(req, res) { 

    var view = new keystone.View(req, res), 
     locals = res.locals; 

    // locals.section is used to set the currently selected 
    // item in the header navigation. 
    locals.section = 'home'; 
    locals.enquiryTypes = Enquiry.fields.enquiryType.ops; 
    locals.formData = req.body || {}; 
    locals.validationErrors = {}; 
    locals.enquirySubmitted = false; 

    // On POST requests, add the Enquiry item to the database 
    view.on('post', { action: 'contact' }, function(next) { 

     var newEnquiry = new Enquiry.model(), 
      updater = newEnquiry.getUpdateHandler(req); 

     updater.process(req.body, { 
      flashErrors: true, 
      fields: 'name, email, phone, enquiryType, message', 
      errorMessage: 'There was a problem submitting your form:' 
     }, function(err) { 
      if (err) { 
       locals.validationErrors = err.errors; 
      } else { 
       locals.enquirySubmitted = true; 
      } 
      next(); 
     }); 

    }); 


    // Render the view 
    view.render('index', {layout:''}); 

}; 

回答

0

我想通了HTML。只需将锚点放在表单的动作中即可。

<form method="post" action="#contact">