dpqy77560 2010-11-15 19:20
浏览 27

使用PHP和Javascript从MySQL分割数据在IE中工作但不在FF中工作

I have the following JavaScript function on a 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 the Form, I have the 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 * 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>');
         }
        ?> 

In essence, the PHP is supposed to pack the data elements pulled from MySQL into the OPTION VALUE portion of the SELECT box. Once the user selects a record, the JavaScript pulls the packed data apart and populates the other data elements on the FORM. It all works wonderfully in IE, but in FF the fields do not populate with data.

The form is somewhat long, but I'll include it anyway for the 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 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">&nbsp;</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">&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 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>&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 is Logged as: <?php echo($ip); ?></div></td>
                </tr>
              </table>
              </form>
  • 写回答

2条回答 默认 最新

  • dsnd7200 2010-11-15 19:29
    关注

    You access the form not the right way.

    Create a variable for form like you do with the select:

    var form = document.getElementById('form');
    
    评论

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据