繁体   English   中英

如何根据下拉菜单中的选择自动填充其他字段

[英]How to auto populate other field based on the selection from dropdown

我已经创建了此页面,以基于对下拉列表的选择来从数据库中获取数据,该下拉列表也是从数据库派生的。 在这方面请帮助我,因为我没有运气。 这是我的代码:

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>

</head>

<body>
<?php
$connection = mysqli_connect("localhost", "root", "rajat123", "callboard");
$data = "select * from customermaster";
$query = mysqli_query($connection, $data);
?>
<form name="sysadd" id="form1" method="post" action="system_reg2.php">
Customer Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="custname" id="custname" onchange="updatetext()">
<?php
    while ($row = $query->fetch_assoc()) {
        echo "<option value=\"{$row['custname']}\">";
        echo $row['custname'];
        echo "</option>";
    }
?>
</select><br /><br />
<input type="text" name="type" id="type" />
<input type="text" name="sl_no" id="sl_no" />
<input type="text" name="config" id="service" />
<input type="text" name="date" id="date" />

</form>
<script type="text/javascript">

        function updateText() {
            var custname2 = document.getElementById("custname").value;
            <?php $data2 = mysqli_query($connection, "SELECT * FROM customermaster WHERE custname = 'custname2'") ; ?> 
            <?php $row = mysqli_fetch_array($data2); ?>
          document.getElementById("type").value = <?php echo $row['type'] ?>;
          document.form1.sl_no.value = <?php echo $row['sl_no'] ?>;
          document.form1.config.value = <?php echo $row['config'] ?>;
          document.form1.date.value = <?php echo $row['date'] ?>;

    }
</script>
</body>
</html>

您将服务器端脚本与客户端脚本混淆了。 PHP和mySQL都是服务器端脚本。 页面加载后,您将无法使用javascript(客户端脚本)来更新页面上的服务器端数据。 用户更改第一个下拉菜单后,您将必须提交页面,并使PHP读取用户输入的内容并显示下一项。 我将表单操作保留为空白,以便表单提交到其自己的页面,因此所有代码都在一页中。

表单代码示例:

<form action="" method="post">

示例PHP代码:

if (isset($_POST['form_variable']))
{
    // Perform lookup of next drop-down data based on last drop-down data
}

填充完所有下拉列表后,您可以使用PHP重定向到system_reg2.php ,或者仅在执行此操作的页面底部有一个提交按钮。

PHP生成发送给客户端的HTML页面。 完成后,该请求将关闭,并在用户代理(浏览器)上处理其他所有请求。 您要么必须在请求中提供所有可能的数据,要么必须将选择发送回服务器,以请求基于您当前选择的数据的新响应。 您可以通过重新加载孔页面来完成此操作,也可以通过AJAX通过javascript请求所需日期来更新页面的一部分。 JQuery是帮助更轻松地处理AJAX请求的框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM