Ben bir sayfada aşağıdaki JavaScript işlevi vardır:
function setFields(){
var menu = document.getElementById('EditLocation');
var itemDataArray = menu[menu.selectedIndex].value.split('|');
form.LocationShortName.value = itemDataArray[0];
form.LocationLongName.value = itemDataArray[1];
form.Phone.value = itemDataArray[2];
form.Address1.value = itemDataArray[3];
form.CityStateZip.value = itemDataArray[4];
form.MapLink.value = itemDataArray[5];
}
Aşağı Formunda, ben şu var:
<select class="input2" name="EditLocation" id="EditLocation" onchange = "setFields();">
<option value="-Add New-"<?php if($editlocation=='-Add New-'){echo(' selected="selected"');} ?>>-Add New-</option>
<?php require_once('connection.php');
$connection = mysql_connect($hostname,$username,$password) or die (mysql_errno().": ".mysql_error()."<BR />");
mysql_select_db($database);
$sql = "SELECT * FROM directions ORDER BY dirshortname";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
echo('<option value="'.stripslashes($row['dirshortname']).'|'.stripslashes($row['dirlongname']).'|'.stripslashes($row['dirphone']).'|'.stripslashes($row['dirstreet']).'|'.stripslashes($row['dircsz']).'|'.stripslashes($row['dirmaplink']).'"');
if ($editlocation==stripslashes($row['dirshortname']))
{
echo(' selected="selected"');
}
echo('>'.stripslashes($row['dirshortname']).'</option>');
}
?>
Özünde, PHP SELECT kutusunun OPTION VALUE kısmına MySQL çekti veri elemanları paketi gerekiyordu. Kullanıcı bir kaydı seçtikten sonra, JavaScript ayrı paketlenmiş verileri çeker ve FORM üzerindeki diğer veri elemanlarını doldurur. Tüm IE harika çalışıyor, ama FF alanları verilerle doldurmak yok.
Form biraz uzun, ama ben bütünlüğü uğruna yine de ekleriz.
<form action="admin-dirs.php" method="post" enctype="multipart/form-data" style="margin:0px; padding:0px " id="form">
<table width="587" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="60"> </td>
<td width="185">Select Location to Edit: </td>
<td width="342"><select class="input2" name="EditLocation" id="EditLocation" onchange = "setFields();">
<option value="-Add New-"<?php if($editlocation=='-Add New-'){echo(' selected="selected"');} ?>>-Add New-</option>
<?php require_once('connection.php');
$connection = mysql_connect($hostname,$username,$password) or die (mysql_errno().": ".mysql_error()."<BR />");
mysql_select_db($database);
$sql = "SELECT * FROM directions ORDER BY dirshortname";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
echo('<option value="'.stripslashes($row['dirshortname']).'|'.stripslashes($row['dirlongname']).'|'.stripslashes($row['dirphone']).'|'.stripslashes($row['dirstreet']).'|'.stripslashes($row['dircsz']).'|'.stripslashes($row['dirmaplink']).'"');
if ($editlocation==stripslashes($row['dirshortname']))
{
echo(' selected="selected"');
}
echo('>'.stripslashes($row['dirshortname']).'</option>');
}
?>
</select></td>
</tr>
<tr>
<td width="60"> </td>
<td colspan="2"><span class="main" style=" padding-left:12px; padding-right:12px; padding-top:6px"><br />
(Note:
Leaving the Long Name blank will duplicate the Short Name.)</span></td>
</tr>
<?php if(!$errlocationshortname=='' ){echo('
<tr>
<td width="60"> </td>
<td width="185"> </td>
<td width="342"><span class="redtxterror">'.$errlocationshortname.'</span></td>
</tr>');} ?>
<tr>
<td> </td>
<td>Location Short Name: <span class="red_star">*</span> </td>
<td><input name="LocationShortName" id="LocationShortName" type="text" class="input2<?php if(!$errlocationshortname==''){echo('r');} ?>" value="<?php echo($locationshortname); ?>" maxlength="50"></td>
</tr>
<?php if(!$errlocationlongname=='' ){echo('
<tr>
<td width="60"> </td>
<td width="185"> </td>
<td width="342"><span class="redtxterror">'.$errlocationlongname.'</span></td>
</tr>');} ?>
<tr>
<td> </td>
<td>Location Long Name: <span class="red_star">*</span> </td>
<td><input name="LocationLongName" id="LocationLongName" type="text" class="input2<?php if(!$errlocationlongname==''){echo('r');} ?>" value="<?php echo($locationlongname); ?>" maxlength="50"></td>
</tr>
<?php if(!$erraddress=='' ){echo('
<tr>
<td width="60"> </td>
<td width="185"> </td>
<td width="342"><span class="redtxterror">'.$erraddress.'</span></td>
</tr>');} ?>
<tr>
<td> </td>
<td>Street Address: <span class="red_star">*</span> </td>
<td><input name="Address1" id="Address1" type="text" class="input2<?php if(!$erraddress==''){echo('r');} ?>" value="<?php echo($address); ?>"></td>
</tr>
<?php if(!$errcsz=='' ){echo('
<tr>
<td width="60"> </td>
<td width="185"> </td>
<td width="342"><span class="redtxterror">'.$errcsz.'</span></td>
</tr>');} ?>
<tr>
<td> </td>
<td>City, State, Zip: <span class="red_star">*</span> </td>
<td><input name="CityStateZip" id="CityStateZip" type="text" class="input2<?php if(!$errcsz==''){echo('r');} ?>" value="<?php echo($csz); ?>"></td>
</tr>
<?php if(!$errphone=='' ){echo('
<tr>
<td width="60"> </td>
<td width="185"> </td>
<td width="342"><span class="redtxterror">'.$errphone.'</span></td>
</tr>');} ?>
<tr>
<td> </td>
<td>Location Phone Number: <span class="red_star">*</span> </td>
<td><input name="Phone" id="Phone" type="text" class="input2<?php if(!$errphone==''){echo('r');} ?>" value="<?php echo($phone); ?>" maxlength="20"></td>
</tr>
<?php if(!$errmaplink=='' ){echo('
<tr>
<td width="60"> </td>
<td width="185"> </td>
<td width="342"><span class="redtxterror">'.$errmaplink.'</span></td>
</tr>');} ?>
<tr>
<td> </td>
<td>Paste Link to Map: <span class="red_star">*</span> </td>
<td><input name="MapLink" id="MapLink" type="text" class="input2<?php if(!$errmaplink==''){echo('r');} ?>" value="<?php echo($maplink); ?>" maxlength="125"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><div align="right" style="padding-right:25px">
<input type="hidden" id="action" name="action" value="submitform" />
<input type="submit" id="savenew" name="savenew" value="Save & New" />
<input type="submit" id="submit" name="submit" value="Save & Close" />
<?php if(!isset($_POST['action'])) {?>
<input type="reset" id="reset" name="reset" value="Reset" />
<?php } ?>
</div></td>
</tr><tr>
<td> </td>
<td> </td>
<td class="main_d"><div align="right" style="padding-right:25px">Your IP Address is Logged as: <?php echo($ip); ?></div></td>
</tr>
</table>
</form>