0

我正在使用 Oracle Application Express (Apex),基本上我的情况是:我有 2 个项目,一个是文本字段,另一个是隐藏项目,其值是通过使用 DB 链接查询表来检索的。

应该发生的情况是用户在文本字段中输入一个数字,然后在查询中使用该数字来查找隐藏项的 ID 与用户输入的数字匹配的行。然后将隐藏项的值设置为该行的其中一列的内容。

唯一的问题是,这一切都在一个页面上,必须在不提交页面的情况下完成,所以当用户在文本字段中输入数字时,我如何将该数字存储为该项目的值,以便它可以用于计算隐藏项值的查询?

任何帮助,将不胜感激。

4

1 回答 1

1

更新:

<!DOCTYPE html>
<html>
    <head>
        <script>
            function ajax(user_number) {
                var xmlhttp;
                // get the ID field for easy access... 
                var index =  document.getElementById("index");
                if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                } else {// code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function() {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        // here you get back a response... xmlhttp.responseText
                        // set the hidden field with new data.
                        index.value = xmlhttp.responseText;
                    }
                }
                // here you make a request to your script to check your database...
                xmlhttp.open("GET", "app/search/?number=" + user_number + '&index=' + index.value, true);
                xmlhttp.send();
            }

            function check(user_number) {
                // make some validation here...
                if (user_number.length > 3) {
                    ajax(user_number);
                } else {
                    return;
                }
            }
        </script>
    </head>
    <body>

        <p>please enter your secret number</p>
        <!-- the hidden field holding the ID -->
        <input type="hidden" id="index" name="index" value="334" />
        <!-- the search text box where user type his own NUMBER onkeyup it make a request -->
        <input type="text" id="user-number" name="user-number" onkeyup="check(this.value);"/>

    </body>
</html>
于 2012-12-12T17:31:12.717 回答