我正在使用Jade模板引擎制作Node.js网页。我需要在表中创建行和列,具体取决于输入的值:
- var gpu_count = #{GPU_count};
for (var g = 0; g < gpu_count; g++)
tr
- for (var v = 0; v < 15; v++)
td.vcardTextValue somevaluegoeshere
#{GPU_count}
是我输入Jade文档的数字。我希望for循环的迭代次数等于gpu_count。
但遗憾的是,当我加载页面时,会出现此错误:
Error
at new JS_Parse_Error (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:196:18)
at js_error (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:204:11)
at parse_error (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:296:9)
at Object.next_token [as input] (C:\Users\Anna\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:528:9)
at next (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:622:25)
at vardefs (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:1024:48)
at var_ (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:1037:27)
at C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:794:30
at C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:683:24
at block_ (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:944:20)
我相信这是因为语法错误;我无法将#{GPU_count}
放在JavaScript中。
那么我如何使JavaScript变量等于输入值?
答案 0 :(得分:1)
如果变量与JavaScript的范围相同,只需使用它的名称,如:
var gpu_count = GPU_count;
如果您需要的值存储在输入元素的页面上,如:
<input id="GPU_count"...>
您需要使用一些东西将页面中的值发送到服务器(运行jade的地方),如AJAX,socket.io或类似内容。