我有一个非常简单的网站,我建立了使用Perl cgi。我有一个表单字段,显示我的小公司中的所有应用程序代码。由于应用程序列表很小,所以我使用了一个简单的下拉列表。然而,随着越来越多的应用程序,下降的结果是难以控制的。是否可以使用Perl对此字段使用自动完成?
编辑:应用程序名称存储在数据库表中。我从数据库中提取应用程序列表。
发布于 2016-10-21 04:48:12
只有Perl-CGI是做不到的。
尝试在CGI脚本中使用javascript。我在下面添加了示例html和javascript
HTML代码
<form>
<input type="text" id="someid" onkeyup="myfunc()" style="width:150px"/>
<div id='auto_div' style="position:absolute; width:150px; height:100px;">
</div>
</form>使用AJAX调用的Javascript
function myfunc()
{
var val = document.getElementById("someid").value;
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var res = xmlhttp.responseText;
document.getElementById("auto_div").innerHTML= res;
}
}
xmlhttp.open("GET","database.pl?input_value="+val,true);
xmlhttp.send();
}在每个键上触发myfunc函数(onkeyup()),然后获取输入标记的值。然后使用ajax从DB连接perl文件中传递值,输出结果将存储到res变量中,然后将conent写入auto_div中。
发布于 2016-10-21 05:00:13
HTML5有一个用于自动完成下拉列表( <datalist> )的漂亮标记。下面是此标记的用法定义,如w3schools.com上所示:
定义和使用
<datalist>标记为<input>元素指定预定义选项列表。<datalist>标记用于在元素上提供“自动完成”功能。用户在输入数据时会看到预定义选项的下拉列表。 使用<input>元素的list属性将其与一个<datalist>元素绑定在一起。
代码示例:
<input list="browsers">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>

有关详细信息,请参阅以下链接:datalist.asp
https://stackoverflow.com/questions/40168438
复制相似问题