我正在使用Oracle Application Express(Apex),基本上我的情况是:我有2个项目,一个是文本字段,另一个是隐藏项目,通过使用数据库链接查询表来检索其值。 / p>
用户在文本字段中输入一个数字,然后在隐藏项目的查询中使用该数字来查找ID与用户输入的数字相匹配的行。然后将隐藏项的值设置为该行的一列的内容。
唯一的问题是,这一切都在一个页面上,必须在不提交页面的情况下完成,因此当用户在文本字段中输入数字时,如何将该数字存储为该项目的值,以便它可以在查询中用于计算隐藏项的值?
任何帮助都将不胜感激。
答案 0 :(得分: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>