0

   我很想了解如何使用 JQuery Validator 在 submitHandler 的上下文中从一个视图导航到另一个视图。我目前在做的大致是,

class Example.ViewOne extends Backbone.View
    template: JST['view_one']

    render: ->
      @$el.html(template())
      @$('form').validate(@.validators)
      this

    validators:
      rules:
        name:
          required: true
      submitHandler: (form) ->
        view = new Example.ViewTwo()
        view.render()
        return false

class Example.ViewTwo extends Backbone.View
  template: JST['view_two']
  
  render: ->
    @$el.html(@template())
    this

class ExampleRouter extends Backbone.Router
  routes:
    '' : 'index'
  
  index:
    view = new Example.ViewOne()
    $('#container').html(view.render().el)

托管页面:    

...
<div id="container"></div>
....

视图一:

  ...
  <h1>View One</h1>
  <form>
    <input type="text" name="name" />
    <button type="submit" />
  </form>
  ...

视图二:

  ...
  <h1>View Two</h1>
  ...

当我在 ViewOne 上点击提交时会发生什么,帖子触发并重新渲染 ViewOne。我想渲染 ViewTwo 并且不发布帖子。我必须使用 JQuery Validator,据我所知,它需要一个表单标签,因此摆脱表单标签对我来说不是一个解决方案。

此外,我知道在视图中控制工作流并不是理想的方式,但我现在专注于让一些简单的工作变得简单,并且随着我对 Backbone 越来越熟悉,肯定会计划研究更强大的解决方案。

4

0 回答 0