Perl cgi-bin自动完成

时间:2016-10-21 04:29:08

标签: perl cgi-bin

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

对此字段使用自动完成

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

2 个答案:

答案 0 :(得分:3)

HTML5为自动完成下拉列表docker run --publish=hostport:containerport ... 提供了一个漂亮的标记。以下是w3schools.com上找到的此标记的使用定义:

  

定义和用法<datalist>标记指定列表   <datalist>元素的预定义选项。

     

<input>标记用于提供“自动填充”功能    元素。用户将看到预定义的下拉列表   选项,因为他们输入数据。

     

使用<datalist>元素的list属性将其与a绑定在一起   <input>元素。

代码示例:

<datalist>

enter image description here

有关详细信息,请参阅以下链接:http://www.w3schools.com/tags/tag_datalist.asp

答案 1 :(得分:1)

单独的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从连接perl文件的DB传递值,输出的结果将存储到res变量中,然后将conent写入auto_div