我尝试在 ejs 模板中使用 jquery,使用服务器发送到模板的数组来自动完成输入。我收到以下错误:
ReferenceError: /var/www/html/DM/views/formulaire.ejs:8
6| <title>Formulaire </title>
7| </head>
>> 8| <%
9| $( "#depart" ).autocomplete({
10| source: autoComp
11| });
$ is not defined
我做了一些研究,发现你不能将客户端 javascript (jquery) 与服务器端 javascript (ejs) 一起使用,但我没有找到任何解决方案。
这是代码:
<!DOCTYPE html>
<html lang="fr">
<head>
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
<meta charset="UTF-8">
<title>Formulaire </title>
</head>
<body>
<script>
$( "#depart" ).autocomplete({
source: autoComp
});
</script>
<form action="/result" method="post">
Départ:<input type="text" name="depart" id="depart"><br>
Arrivée: <input type="text" name="arrivee"><br>
<input type="submit" value="Chercher un itinéraire">
</form>
<%
if(erreur){
%> <p>Erreur lors de la saisie des stations</p>
<%
}
%>
</body>
</html>
感谢您的帮助
编辑:不再有错误,但自动完成功能不起作用。
最佳答案
您需要将客户端代码放在 <script>
中标签
改变
<%
$( "#depart" ).autocomplete({
source: autoComp
});
%>
至
<script>
$( "#depart" ).autocomplete({
source: autoComp
});
</script>
并将其放入头部或 body 内
关于javascript - 将 jquery 与 ejs 模板结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43268148/