Javascript EJS语法:使用参数为字符串的函数生成HTML文件
我使用EJS生成一个带有表单的HTML文件,表单的特征取决于给定EJS视图的数据。在这种形式中,必须有一个带有onclick事件的单选按钮,该事件是一个包含两个参数(一个数字和一个字符串(即链接))的函数 onclick事件调用的函数编写如下:Javascript EJS语法:使用参数为字符串的函数生成HTML文件,javascript,html,forms,syntax,ejs,Javascript,Html,Forms,Syntax,Ejs,我使用EJS生成一个带有表单的HTML文件,表单的特征取决于给定EJS视图的数据。在这种形式中,必须有一个带有onclick事件的单选按钮,该事件是一个包含两个参数(一个数字和一个字符串(即链接))的函数 onclick事件调用的函数编写如下: function exam(i, link) { // content omitted } 我无法在EJS中获得正确的语法来调用此函数是正确的方法。这就是我现在拥有的: // the way thearray is generated is omitt
function exam(i, link) {
// content omitted
}
我无法在EJS中获得正确的语法来调用此函数是正确的方法。这就是我现在拥有的:
// the way thearray is generated is omitted
<% for(var i=0; i<thearray.length; i++) { %>
<% var link = thearray.link %>
<form>
<input type="radio" id= "<%= "examen_non"+i %>" name="examen" value="non" checked>
<label for = "<%= "examen_non"+i %>" >Non</label>
<input type="radio" id= "<%= "examen_oui"+i %>" name="examen" value= "<%= link %>" onClick= "<%= "exam("+i+", "+link+")" %>" >
<label for = "<%= "examen_oui"+i %>" >Oui</label>
</form>
<% } %>
//数组的生成方式被省略
不
是的
它呈现的HTML是这样的(我采用了关于为数组的第一个I创建的表单的行,即0):
不
是的
但是当我点击这个按钮时,没有调用参数为0和“”的函数检查(I,lien)。我猜这是因为在HTML中没有作为字符串编码,但是如何让EJS将其作为字符串?
换句话说,如何编写EJS以生成此HTML:
<form id= "question_examen0" >
<input type="radio" id= "examen_non0" name="examen" value="non" checked>
<label for = "examen_non0" >Non</label>
<input type="radio" id= "examen_oui0" name="examen" value= "http://www.diploweb.com/" onClick= "exam(0, "http://www.diploweb.com/")" >
<label for = "examen_oui0" >Oui</label>
</form>
不
是的
您可以尝试单引号,如下所示:
onClick= "<%- "exam(" + i + ", '" + link + "')" %>"
onClick=“”
编辑:使用
我刚刚尝试过。它生成以下HTML:onClick=“考试(0,';http://www.diploweb.com')“
即单引号转换为';和';在HTML中…
为什么未找到testPush
。我已经在expressjs文件中添加了函数testPush(){}
。@Gank添加一些详细信息,并将此作为一个单独的StackOverflow问题询问,更多的人将能够帮助您。
onClick= "<%- "exam(" + i + ", '" + link + "')" %>"