【问题标题】:How To Display Query Result From Entered Value of Input Field To Another Input Field如何将输入字段的输入值的查询结果显示到另一个输入字段
【发布时间】:2014-10-21 18:48:52
【问题描述】:

基本上我想在输入字段中输入一个值。并基于该值,我想查询 sql 并将其值显示到另一个字段中(不刷新页面)。

HTML

<input name="idno[]" type="text" /><select name="curr[]"><option value=""></option></select><input name="amount[]" type="text" />
<input name="idno[]" type="text" /><select name="curr[]"><option value=""></option></select><input name="amount[]" type="text" />

所以,当我在输入字段 (name idno[]) 中输入值时,输入字段 (name curr[] 和 amount[] 将显示查询结果 ex: select * from table where id = 'idno'

请帮帮我..

编辑

这是我为静态输入字段运行的代码..

<form name="myForm">
<table width="50%" border="1">
<tr>
<td><input type="text"
onkeyup="ajaxFunction(this.value);" name="username" /></td>
<td>
<div id="displayDiv">
<table width="100%" border="0">
<tr>
<td><input type="text" name="curr"></td><td><input type="text" name="amount"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>

<script type="text/javascript">
function ajaxFunction(str)
{
    var httpxml;
    try
    {
        // Firefox, Opera 8.0+, Safari
        httpxml=new XMLHttpRequest();
    }
    catch (e)
    {
        // Internet Explorer
    try
    {
        httpxml=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            httpxml=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            alert("Your browser does not support AJAX!");
            return false;
        }
    }
}
function stateChanged()
{
    if(httpxml.readyState==4)
    {
        document.getElementById("displayDiv").innerHTML=httpxml.responseText;
    }
}
var url="cek.php";
url=url+"?txt="+str;
url=url+"&sid="+Math.random();
httpxml.onreadystatechange=stateChanged;
httpxml.open("GET",url,true);
httpxml.send(null);
}
</script>

您能否给我解决方案,以便它可以用于动态输入字段(我的意思是用于添加新输入字段等)

谢谢

【问题讨论】:

  • 其余代码在哪里?缺少一大块 JS/jQuery 和 PHP
  • 基本上我仍然很困惑如何获取输入字段名称 idno[] 的值以及如何显示其查询结果(我可以在 php 中执行此操作)以输入字段名称 amount[] 和 cur []
  • 您需要 AJAX。我也不知道你为什么选择没有&lt;select name='curr[]' multiple='multiple'&gt; 的倍数。您也应该只有一个名称,除了单选按钮和复选框倍数。通过选择多个,您的用户只能选择使用ctrl+clickclick+shift+click 选择多个项目。
  • 也许你可以叫我懒惰,但我真的很空白..你能再给一个示例代码 PHPglue...非常感谢

标签: javascript php jquery input


【解决方案1】:

您应该记住的要点:

1) 不要使用 key up 而是使用 change 或 input 更好

2) 对于附加或添加结果的实时搜索,您需要关注

事情

a) html

b) jQuery

c) sql

以下面的搜索人为例

JQUERY

    var name;

    $("body").on("input","#search_box_input",function(){
        name = $("#search_box_input").val();
        if(name !="")
        {
        $.post("../PHP/search_people.php",{name:name},function(returned_name)
        {
            $("#all_names_div").html(returned_name).fadeIn("slow");

        }); 
        }
    });

您的 PHP 和 SQL 查询应该是这样的:

$name = $_POST['name'];

$result = mysql_query("select * from people where name like '%$name%'");

while ($returned_name = mysql_fetch_array($result)) { echo $returned_name['name']; }

希望对你有帮助:)

【讨论】:

【解决方案2】:

您可以通过带有提交按钮和表单的旧 html 来执行此操作,该表单将值提交到 php 脚本,该脚本返回具有更新值的表单。但是,如果您希望它更“酷”一点,您需要使用 javaScript 来侦听输入上的更改事件,以向 php 脚本触发 ajax 请求并接收查询结果以将其显示在 html 站点上。要搜索的关键字是事件侦听器和 ajax。 www 中有大量关于如何做到这一点的教程。

【讨论】:

  • 不刷新页面。
  • 事实是我已经在寻找这样做,我发现它使用 ajax 和 jquery .. 但就像我说的我仍然空白如何做到这一点......我知道场景但没有不知道实现它..场景是从输入的输入字段名称 idno[] 中获取值,然后在 php 中进行查询以根据 idno 选择 curr 和数量(我可以在 php 中进行此查询),最后将其显示在输入字段中名称 curr[] 和 amount[]...希望有人帮助我.. 问候
猜你喜欢
  • 2014-10-19
  • 1970-01-01
  • 2012-07-24
  • 2021-11-22
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
相关资源
最近更新 更多