从列表中选择后显示数据

时间:2017-08-27 20:55:06

标签: javascript php

我尝试创建一个允许在下拉列表中选择员工ID的表单。一旦在选择时做出选择,通过从数据库中提取信息自动填写其他字段。

<form method="post"action="">
    <select name="id_em">
    <?php     
        try
        {
            $bdd = new PDO('mysql:host=localhost;dbname=gestion;charset=utf8','root','');    
        }
        catch (Exception $e)
        {
            die('ERREUR : '.$e->getMessage());
        }
        $res = $bdd->query('select * from employe');

        while ($ligne=$res->fetch())
        {?>
            <option> <?php echo $ligne['id_em']; ?>  </option>
        <?php }
        $res->closeCursor();
    ?>

    <?php
        $requete = $bdd->prepare("select * from employe where id_em=?");
        $requete->execute(array($_POST["id_em"]));
        if(isset($_POST['id_em'])){
            while($res1 = $requete->fetch()){
            ?>
            <input type="text"name="nom_em" value="<?php echo $res1["nom_em"] ?>">
            <?php
            }
        }
        $requete->closecursor();
    ?>
    </select> 
</form>

下拉列表显示效果很好,但是当我做出选择时,没有任何反应。我知道我们会使用JavaScript,但问题是我还是初学者而且我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

至少应该在列表选择发生变化时调用JavaScript函数:

&#13;
&#13;
function changeId(sel) {
   alert('id changed to '+sel.value);
}
&#13;
Options
<select name="id_em" onchange="changeId(this)">
    <option>(none)</option>
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
    <option>Option 4</option>
</select>
&#13;
&#13;
&#13;

有关如何使用AJAX技术将数据库中的内容加载到html页面的进一步提示,请参阅Web中的一些优秀教程,如下所示:https://www.w3schools.com/php/php_ajax_database.asp