いくつかの問題があります。
HTML構造とフォームタグは適切ではありません。本文に含める必要があります
<html>
<head>
<script>
</script>
</head>
<body>
<form>
</form>
</body>
</html>
これはあなたが従うべき構造です
onChange関数の記述方法は正しいですが、私の意見では、showResultJS関数に問題があります。
使用した関数で
<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>
JSでは「hi」のみが出力されることに注意してください<?PHP echo '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機能も更新しました。
これを使用すると、選択した値をアラートで確認できますか?選択した値がまだ取得されていないことを意味することがわからない場合。適切な値が表示されている場合は、割り当てが正しくないことを意味します。