有幾個問題。
HTML的結構和形式的標籤是不正確的,他們應該是在身體
<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>
請在你的Firefox安裝firebug
捕捉任何錯誤,在腳本
編輯完整代碼
檢查這個代碼
<?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>
我已經添加了id="companyNameList"
到<select>
循環中的php代碼。還更新了JS功能。
現在如果你使用這個,你能看到alert中的選定值嗎?如果你看不到這意味着我們還沒有獲得選定的價值。如果您看到適當的值,則表示分配不正確。
可能的重複的相關部分 – Gordon 2013-02-19 08:42:06
您不調用該函數,您只是打印一個選擇。我認爲你的JavaScript代碼是不正確的。 – jcesarmobile 2013-02-19 08:43:55
什麼不行? php代碼看起來不錯。但標題沒有意義:php不會調用JavaScript函數。當查看呈現的html頁面並更改選定的選項時,可以調用js函數。請提供更多詳細信息 – Imperative 2013-02-19 08:44:14