输入是自我关闭的,不应该有内容

时间:2013-12-23 12:15:49

标签: node.js express pug

当我加载我的Express网页时,我收到以下错误:

快车 500错误:/app/views/index.jade:114 112 | td 2 113 | td 4年> 114 |输入是自我关闭的,不应该有内容。

112| td 2
113| td 4 years
> 114|
input is self closing and should not have content.
at Object.Compiler.visitTag (/app/node_modules/jade/lib/compiler.js:434:15)
at Object.Compiler.visitNode (/app/node_modules/jade/lib/compiler.js:210:37)
at Object.Compiler.visit (/app/node_modules/jade/lib/compiler.js:197:10)
at Object.Compiler.visitBlock (/app/node_modules/jade/lib/compiler.js:278:12)
at Object.Compiler.visitNode (/app/node_modules/jade/lib/compiler.js:210:37)
at Object.Compiler.visit (/app/node_modules/jade/lib/compiler.js:197:10)
at Object.Compiler.visitTag (/app/node_modules/jade/lib/compiler.js:443:12)
at Object.Compiler.visitNode (/app/node_modules/jade/lib/compiler.js:210:37)
at Object.Compiler.visit (/app/node_modules/jade/lib/compiler.js:197:10)
at Object.Compiler.visitBlock (/app/node_modules/jade/lib/compiler.js:278:12)

当使用foreman start在本地运行时,只有当它在服务器上时才会显示。

5 个答案:

答案 0 :(得分:16)

看起来你的输入标签里面有内容。在HTML中,输入标签不能包含内容,因此您应该删除jade文件中输入标签后面的任何空格或字符。
实施例
input(type="text",name="whatever") something
应该是 input(type="text",name="whatever",value="something")

答案 1 :(得分:1)

有时候答案比同一行上的标签之后的某些内容(例如几个空格)有点琐碎。请注意错误输入标记缩进后的行!

答案 2 :(得分:0)

我遇到了类似的问题:

div
   +inputWithTextContent('whatever', 'something')


mixin inputWithTextContent(name, message)
  !='<input type="text" name="'+name+'">'+message+'</input>'

答案 3 :(得分:0)

遇到同样的错误后,我正在检查错误报告中标记的玉石模板行。它实际上包含输入定义,但该定义很好,因为没有任何空格和可打印的内容接替它。下面的行甚至更少缩进(两个级别用于启动另一行表单),因此在标记行中定义的输入元素肯定没有内容。

然而还有另一个输入在此标记后面的几行输入模板。并且该输入元素确实具有一些从属内容。删除内容有点误解“这里”。

答案 4 :(得分:0)

另一种解决方案是在输入后创建标签,然后将其显示为内联。这将标签位于控件旁边。这就是我用jade中的复选框输入解决问题的方法。

JADE(Bootstrap):

      .checkbox
      label 
        input(type='checkbox', value='remember-me',)
        label.inlineLabel Remember me

SASS:

label.inlineLabel
   display: inline