【问题标题】:How do I format jade forms?如何格式化翡翠表格?
【发布时间】:2013-05-14 12:26:43
【问题描述】:

我正在尝试重构我的应用程序以使用jade 而不是ejs,但在设置登录表单时遇到了一些问题。

这是我在 ejs 中的原始表单:

<% if (message) { %>
<p><%= message %></p>
<% } %>

<form class="form-horizontal" action='/login' method="POST" id="loginForm">
  <fieldset>
    <div id="legend">
      <legend class="">Login</legend>
    </div>
    <div class="control-group">
      <!-- Username -->
      <label class="control-label"  for="username">Username</label>
      <div class="controls">
        <input type="text" id="username" name="username" placeholder="" class="input-xlarge">
      </div>
    </div>

    <div class="control-group">
      <!-- Password-->
      <label class="control-label" for="password">Password</label>
      <div class="controls">
        <input type="password" id="password" name="password" placeholder="" class="input-xlarge">
      </div>
    </div>

    <div class="control-group">
      <!-- session-->
      <label class="control-label" for="rememberme">Remember Me</label>
      <div class="controls">
        <input type="checkbox" name="rememberme"/>
      </div>
    </div>


    <div class="control-group">
      <!-- Button -->
      <div class="controls">
        <button class="btn btn-success">Login</button>
      </div>
    </div>
  </fieldset>
</form>

这是我的翡翠新形态:

extends layout

block content
    if message
        p= message
    form(class='form-horizontal',action='/login',method='POST',id='loginForm')
        fieldset
            div#legand
                legend Login
            div.control-group
                label(for='username',class='control-label') Username
                div.controls
                    input(type='text',id='username',name='username',placeholder='Username',class='input-xlarge')
            div.control-group
                label(for='password',class='control-label') Password
                div.controls
                    input(type='text',id='password',name='password',placeholder='Password',class='input-xlarge')
            div.control-group
                label(for='rememberme',class='control-label') Remember Me
                div.controls
                    input(type='checkbox',name='rememberme')
            div.control-group
                div.controls
                    input(type='submit',class='btn btn-success') Login

Codekit 抛出错误:

/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/runtime.js:173
  throw err;
        ^
Error: /Users/sm/Documents/Projects/Web_Applications/App/app/views/login.jade:27
    25| 
    26| 
  > 27|   

Invalid indentation, you can use tabs or spaces but not both
    at Object.Lexer.indent (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:672:15)
    at Object.Lexer.next (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:770:15)
    at Object.Lexer.blank (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:179:19)
    at Object.Lexer.next (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:744:15)
    at Object.Lexer.blank (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:179:19)
    at Object.Lexer.next (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:744:15)
    at Object.Lexer.lookahead (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/lexer.js:106:46)
    at Object.Parser.lookahead (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/parser.js:115:23)
    at Object.Parser.peek (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/parser.js:92:17)
    at Object.Parser.tag (/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/parser.js:666:30)

我怎样才能克服这个缩进错误并让这个表单工作?我只使用制表符,没有空格,所以我不明白问题出在哪里。

【问题讨论】:

    标签: node.js pug


    【解决方案1】:

    这可能是由于您的 Jade 模板中尾随空行中的空格引起的(您没有发布,但根据错误消息存在)。

    【讨论】:

      【解决方案2】:

      我认为您的问题可能是您如何指定按钮。而不是:

                  div.control-group
                      div.controls
                          input(type='submit',class='btn btn-success') Login

      试试:

                  div.control-group
                      div.controls
                          button(type='submit',class='btn btn-success') Login

      【讨论】:

      • 这实际上是一回事,除非我弄错了。
      • Nick - 不,请注意第三行的“按钮”一词而不是“输入”。 (不过,你让我看了两遍。)我期待在七年后看到你的回复。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多