我试图将一个函数作为变量传递,并使用onclick="“调用该函数,但该函数在传递之前已执行。
下面是代码。
seminar.js
function getco(){
console.log('hello');
}
router.get('/add',(req,res)=>{
res.render('cms/seminar/add',{
getco:getco()
});
});add.handlebars
<form action="/cms/seminar/add" method="post">
<div class="form-group">
<label for="sel1">Game Name of the Seminar</label>
<select class="form-control" id="seminar_gamename" name="seminar_gamename" required onclick="getco">
<option value="pubg">Pubg</option>
<option value="candy_crush">Candy Crush</option>
<option value="fortnite">Fortnite</option>
<option value="mortal_combat">Mortal Combat 11</option>
<option value="far_cry_city">Far Cry City Dowm</option>
<option value="fortnite">Fortnite</option>
<option value="prince_of_persia">Prince of Persia:The Forgotten Sand</option>
</select>
</div>
</form>//但我得到的结果是'hello‘,甚至没有点击
发布于 2019-05-12 22:43:58
正如在上面的注释中提到的,您直接调用函数,而不是将其传递到前端。
尝试从getco中删除()
`function getco(){
console.log('hello');
}
router.get('/add',(req,res)=>{
res.render('cms/seminar/add',{
getco:getco
});
});`这允许您将方法作为变量传递,然后在前端使用,
onclick="getco()"
https://stackoverflow.com/questions/56098765
复制相似问题