Perl cgi-bin 自动完成

Perl cgi-bin auto complete

我有一个使用 Perl cgi-bin 构建的非常简单的网站。我有一个表单字段,显示我的小公司的所有应用程序代码。由于应用程序列表很小,我使用了一个简单的下拉列表。然而,随着应用程序数量的增加,下拉列表变得难以管理。是否可以使用 Perl cgi 对此字段使用自动完成功能?

编辑:应用程序名称存储在数据库中 table。我从数据库中提取应用程序列表。

单独的 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>

Javascript 与 AJAX 调用

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();
}

在每次按键操作(onkeyup())上触发myfunc函数,然后获取输入标签的值。然后使用 ajax 从 DB 连接 perl 文件传递​​值,输出结果将存储到 res 变量中,然后将内容写入 auto_div

HTML5 有一个漂亮的自动完成下拉标签,<datalist>。以下是在 w3schools.com:

上找到的此标记的用法定义

Definition and Usage The <datalist> tag specifies a list of pre-defined options for an <input> element.

The <datalist> tag is used to provide an "autocomplete" feature on elements. Users will see a drop-down list of pre-defined options as they input data.

Use the <input> element's list attribute to bind it together with a <datalist> element.

代码示例:

<input list="browsers">

<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>

更多详细信息,请参阅此link:http://www.w3schools.com/tags/tag_datalist.asp