Splitting data from MySQL using PHP & Javascript works in IE but not in FF -


i have following javascript function on page:

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]; } 

down on form, have following:

<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 * directions order 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>');          }         ?>  

in essence, php supposed pack data elements pulled mysql option value portion of select box. once user selects record, javascript pulls packed data apart , populates other data elements on form. works wonderfully in ie, in ff fields not populate data.

the form long, i'll include anyway sake of completeness.

 <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">&nbsp;</td>                   <td width="185">select location 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 * directions order 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">&nbsp;</td>                   <td colspan="2"><span class="main" style=" padding-left:12px; padding-right:12px; padding-top:6px"><br />                     (note:              leaving long name blank duplicate short name.)</span></td>                   </tr>                 <?php if(!$errlocationshortname=='' ){echo('                 <tr>                   <td width="60">&nbsp;</td>                   <td width="185">&nbsp;</td>                   <td width="342"><span class="redtxterror">'.$errlocationshortname.'</span></td>                 </tr>');} ?>                 <tr>                   <td>&nbsp;</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">&nbsp;</td>                   <td width="185">&nbsp;</td>                   <td width="342"><span class="redtxterror">'.$errlocationlongname.'</span></td>                 </tr>');} ?>                 <tr>                   <td>&nbsp;</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">&nbsp;</td>                   <td width="185">&nbsp;</td>                   <td width="342"><span class="redtxterror">'.$erraddress.'</span></td>                 </tr>');} ?>                  <tr>                   <td>&nbsp;</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">&nbsp;</td>                   <td width="185">&nbsp;</td>                   <td width="342"><span class="redtxterror">'.$errcsz.'</span></td>                 </tr>');} ?>                 <tr>                   <td>&nbsp;</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">&nbsp;</td>                   <td width="185">&nbsp;</td>                   <td width="342"><span class="redtxterror">'.$errphone.'</span></td>                 </tr>');} ?>                 <tr>                   <td>&nbsp;</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">&nbsp;</td>                   <td width="185">&nbsp;</td>                   <td width="342"><span class="redtxterror">'.$errmaplink.'</span></td>                 </tr>');} ?>                 <tr>                   <td>&nbsp;</td>                   <td>paste link 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>&nbsp;</td>                   <td>&nbsp;</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>&nbsp;</td>                   <td>&nbsp;</td>                   <td class="main_d"><div align="right" style="padding-right:25px">your ip address logged as: <?php echo($ip); ?></div></td>                 </tr>               </table>               </form> 

  1. have checked ff's javascript console (shift-ctrl-j) errors?
  2. have tried using javascript debugger (like ff's firebug) see menu , itemdataarray values after set them?

i'm guessing you'll "form not object" or that. ie has wonderful annoying side effect of auto-creating objects tags , tag id's. you're not defining "form" inside setfields() function, ff no doubt complain form variable doesn't exist. in ie, since auto-creates stuff whenever wants, created 'form' you, ff won't, it's not working.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

html - Instapaper-like algorithm -

c# - How to execute a particular part of code asynchronously in a class -