Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EJS语法:使用参数为字符串的函数生成HTML文件_Javascript_Html_Forms_Syntax_Ejs - Fatal编程技术网

Javascript EJS语法:使用参数为字符串的函数生成HTML文件

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

我使用EJS生成一个带有表单的HTML文件,表单的特征取决于给定EJS视图的数据。在这种形式中,必须有一个带有onclick事件的单选按钮,该事件是一个包含两个参数(一个数字和一个字符串(即链接))的函数

onclick事件调用的函数编写如下:

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 + "')" %>"