選択タグのあるフォームがあります。ドロップダウンから項目を選択すると、残りのフォームフィールドにそれに応じて入力する必要があります。すべてのフォームデータはmysqlデータベースから取得されることに注意してください。以下は私のコードです:
<script language="javascript" type="text/javascript">
function populateData($id)
{
alert('in populateData');
y = document.getElementById("selectCard");
document.getElementById("to_address").value = to_address[y.selectedIndex];
document.getElementById("subject").value = subject[y.selectedIndex];
document.getElementById("email_content").value = email_content[y.selectedIndex];
}
</script>
<body>
<?php
mysql_connect("localhost", "someUser", "password") or die("Connection Failed");
mysql_select_db("mns")or die("Connection Failed");
$query = "SELECT * FROM table";
$result = mysql_query($query);
?>
<select id="selectCard" class="dropdown" onchange="populateData($id)">
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['source_name'];?>"> <?php echo $line['source_name'];?>
<?php
$id = $line['source_id'];
$source_name = $line['source_name'];
$source_email = $line['source_email'];
$phone_no = $line['source_id'];
$disteller_function = $line['disteller_function'];
}
?>
</select>
<P><INPUT ID="to_address" TYPE="TEXT" NAME="to_address" SIZE="25"></P>
<P><INPUT ID="subject" TYPE="TEXT" NAME="subject" SIZE="25"></P>
<P><INPUT ID="email_content" TYPE="TEXT" NAME="email_content" SIZE="500"></P>
<P><INPUT TYPE="SUBMIT" VALUE="Submit" NAME="B1"></P>
</body>
'$ id'をパラメーターとして渡すと、' populateData($ id)'関数が呼び出されません。パラメーターを削除すると、コードは機能しますが、残りのフォームフィールドに'undefined'が表示されます。
どんな助けでも大歓迎です。
ナナシ