javascript - 如何在表单输入字段中获取数据?
问题描述
我正在尝试创建一个将与数据库中的数据相补充的表单。它是这样工作的:客户输入公司编号,表单在数据库中搜索该编号是否存在,如果存在,则替换输入“公司名称”和输入“公司地址”中的值
我几乎做到了,但问题是公司的名称和地址显示为文本。我希望他们“出现在输入中,我做错了什么?
我只是使用 for 来执行此操作,我不知道如何正确执行此操作。
<html>
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet">
<link rel="stylesheet" href="lib/jquery-ui.css" />
<script src="lib/jquery-1.8.3.js"></script>
<script src="lib/jquery-ui.js"></script>
<script src="lib/jquery.ui.datepicker-pl.js"></script>
<script type='text/javascript' src='lib/jquery.bgiframe.min.js'></script>
<script type='text/javascript' src='lib/jquery.ajaxQueue.js'></script>
<script type='text/javascript' src='lib/thickbox-compressed.js'></script>
<script type='text/javascript' src='lib/jquery.autocomplete.js'></script>
<link rel="stylesheet" type="text/css" href="lib/jquery.autocomplete.css" />
<link rel="stylesheet" type="text/css" href="lib/lib/thickbox.css" />
<script>onload="window.parent.parent.scrollTo(0,0)"</script>
//There's the script to show date from database
<script>
function showHint(str) {
if (str.length == 0) {
document.getElementById("KonNaz").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("KonNaz").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "gethint.php?q=" + str, true);
xmlhttp.send();
}
{
if (str.length == 0) {
document.getElementById("KonAdr").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("KonAdr").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "gethint2.php?q=" + str, true);
xmlhttp.send();
}
}
}
</script>
</head>
<body>
//Theres a form
<form action="baza_danych_faktury.php" method="post" enctype="multipart/form-data" class="form-inline">
Kontrahent NIP (Company Number)</br>
<form>
<div id="KonNaz"><input type="text" placeholder="np. 7740001454" name="KonNip" class="inputspecial" required onkeyup="showHint(this.value)"> </div> </br>
</form>
Kontrahent nazwa (Company Name)</br>
<input type="text" placeholder="np. Polski Koncern Naftowy Orlen" name="KonNaz" id="KonNaz" class="inputspecial" required> </div> </br>
Kontrahent adres (Company Addres)</br>
<div id="KonAdr"><input type="text" placeholder="np. Katowice 40-847 UL. BOCHEŃSKIEGO 99" name="KonAdr" class="inputspecial" required> </div> </br>
(...)
</form>
在 gethint.php 中:
<?php
$q = $_REQUEST["q"];
$dbhost = 'localhost';
$dblogin = 'login';
$dbpass = 'password';
$dbbase = 'database_name';
mysql_connect($dbhost,$dblogin,$dbpass);
mysql_select_db($dbbase) or die("Błąd przy wyborze bazy danych");
mysql_query("SET CHARACTER SET UTF8");
$wynik = mysql_query("SELECT * FROM evdb_nip WHERE NIP = '$q' ")
or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
while($r = mysql_fetch_assoc($wynik)) {
echo $r[Nazwa_Kontrahenta];
}
}
?>
解决方案
在您的循环中,将所有值放入数组中。例如$myArray['address'] = 'my fabulous address'
之后,您可以像这样在字段中回显数组的值
<input type="text" placeholder="np. Katowice 40-847 UL. BOCHEŃSKIEGO 99" name="KonAdr" class="inputspecial" value="<?= $myArray['address'] ?>" required>
推荐阅读
- django - 在 Django 中使用查询集返回行号
- qt - Qt GUI 导致 CPU 开销
- airflow - 通过 WebUI 触发时,Airflow DAG 会因 RecursionError 而爆炸
- r - 自定义自动 R Markdown 报告
- php - Docker MySQL mysqli::real_connect():(HY000/2002):连接被拒绝
- python - Python + CPLEX:没有名为“docplex”的模块
- django - Django CreateView - 只允许创建 n 个对象。达到限制时重定向
- c# - 使用外部模型引用访问 WCF 服务的 Swagger UI 时出错
- python - 如果在 1/100 秒内请求相同的烧瓶 api,则插入后 sqlalchemy 不会更新
- python - 尝试用一个数据帧的元素做最少 2 个数据帧