有几个问题。
HTML 结构和 Form 标签不正确,它们应该在正文中
<html>
<head>
<script>
</script>
</head>
<body>
<form>
</form>
</body>
</html>
这是你应该遵循的结构
他们编写 onChange 函数的方式是正确的,但我认为问题出在 showResult JS 函数中
在您使用过的功能中
<script type="text/javascript">
function showResult()
{
var companyName = companyNameList.value;
var insertvalue = d.getElementById('lblCompanyName');
insertvalue.innerHTML = companyName
// document.getElementById("lblCompanyName").value=document.getElementById("companyNameList").value;
<?php echo "hi";?>
}
</script>
请注意,它<?PHP echo 'hi'; ?>
只会在 JS 中输出“hi”,这没有任何意义,可能会导致 JS 错误。你应该像这样使用它
<script type="text/javascript">
function showResult()
{
var companyName = companyNameList.value;
var insertvalue = d.getElementById('lblCompanyName');
insertvalue.innerHTML = companyName
// document.getElementById("lblCompanyName").value=document.getElementById("companyNameList").value;
<?php echo "alert('hi');";?>
}
</script>
我希望这些能解决你的问题
编辑
给你的下拉选择一个 id companyNameList
。
<script type="text/javascript">
function showResult()
{
<?php echo "alert('hi');";?>
var companyName = document.getElementById("companyNameList");
var companyNameValue = companyName.options[companyName.selectedIndex].value;
var insertvalue = document.getElementById('lblCompanyName');
insertvalue.innerHTML = companyNameValue;
}
</script>
请安装firebug
在您的 Firefox 中以捕获脚本中的任何错误
编辑完整代码
检查此代码
<?php
$link = mysqli_connect('localhost', 'root', '','xerox_test');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$statement = "SELECT * from form_results";
$result = mysqli_query($link,$statement);
$placement= array();
$i=0;
while($row = mysqli_fetch_array($result))
{
$rowktl[$i] = $row;
$placement[$i]['company_name'] = $rowktl[$i]['company_name'];
$i++;
}
?>
<html>
<head>
<script type="text/javascript">
function showResult()
{
<?php echo "alert('hi');";?>
var companyName = document.getElementById("companyNameList");
var companyNameValue = companyName.options[companyName.selectedIndex].value;
var insertvalue = document.getElementById('lblCompanyName');
alert(companyNameValue);
insertvalue.innerHTML = companyNameValue;
}
</script>
</head>
<body>
<form method="post" action="">
<p>Select the data</p>
<?php
echo '<select name="companyNameList" id="companyNameList" onchange="showResult()" >';
for ($row = 0; $row < 2; $row++)
{
echo '<option value="'.$placement[$row]["company_name"].'">'.$placement[$row]["company_name"].'</option>';
}
echo '</select>';
?>
<br>
<input name="Submit" type="button" class="Submit" value="Submit" onClick="showResult()" />
<table border=2>
<tr>
<td>Case Number <br></td>
<td>Technican ID <br></td>
<td>Company Name <br><label id="lblCompanyName">Here</label> </td>
</tr>
<tr>
<td>Model Number <br></td>
<td>Machine Serial Number<br></td>
<td>Company Address<br></td>
</tr>
<tr>
<td>Customer Name<br><?php echo json_encode($placement[0]['customer_name']);?></td>
<td>Customer Email<br></td>
<td>Contact Number<br></td>
</tr>
<tr><td colspan=3>Remark<br></td></tr>
</table>
</form>
</body>
</html>
我在循环上方的 php 代码中添加了id="companyNameList"
to <select>
。还更新了 JS 功能。
现在如果你使用它,你能在警报中看到选定的值吗?如果您看不到这意味着我们尚未获得选定的值。如果您看到正确的值,则表示分配不正确。