2014-07-10 30 views
0

我的表单有问题。此表单用于通过数据库进行搜索,它有两部分,一部分可见,一部分通过点击进行扩展(高级搜索)。php - 动态设置样式和输入值

问题是,当我继续进行搜索并得到结果时,容器仍会隐藏,并且在输入中不会查看该值。

但是,只有当我使用“RCD ID”时,当我搜索“地点”时,发生的一切都工作得很好。我不知道我错过了什么。

贝娄是代码的一些例子,如果需要的话,我可以帮助提供更多的

感谢

<form name=s style="display: inline; margin: 0px;" action="<?= $_SERVER['PHP_SELF']?>" method=get autocomplete="off"> 
<table> 
<tr><td>Some inputs..</td></tr> 

在它下面的逻辑来扩大集装箱

//expanded search 

<a href="#" class=navig-advanced onclick="if (document.getElementById('advanced').style.display == 'none') document.getElementById('advanced').style.display='block'; else document.getElementById('advanced').style.display='none'; return false;"><img src="img\icon_select.png" align=absmiddle hspace=0 border=0>&nbsp;&nbsp;advanced search</a> 
<? 
if ($searchpar['tel'] || $searchpar['fce'] || $searchpar['diviz'] || $searchpar['pracus'] || $searchpar['res'] || $searchpar['mist'] || $searchpar['rcd_id'] || $searchpar['rx4_id'] || $searchpar['ns']) $disp = 'block'; 
    else $disp = 'none'; 
?> 
<div id=advanced style="display: <?= $disp ?>; width: 201px;" class=tabcontent-search> 
<table class=navig-table> 

这里有一些投入,第一个工作,第二个不是

//then the input 

<tr><td>Place:</td><td><input type=text class=navig-tabinput name=mist value="<?= $searchpar['mist']?>" id=mist <?= $_COOKIE['nosugg'] == 'yes' ? '' : " onkeyup=\"findNames('mist', 'popup8', 'table8', 'tbody8', 'closeimg8', 'load8', '', '', '');\" onkeydown=\"return catchkey(event);\" " ?>><img id=load8 style="visibility: hidden;" src="img/wait-e5effa.gif" alt="loading" border=0 hspace=2 vspace=0 align=absmiddle> 
    <div id="popup8" class="suggest-div"> 
    <table id="table8" class="suggest-tab"> 
     <tbody id="tbody8"></tbody> 
    </table> 
     <img src="img\dash.png" hspace=0 vspace=2><br>&nbsp;<a class=suggest-link alt="don't use suggestions" href="?mode=nosugg&backmode=<?= $mode ?>">turn off suggestion</a>&nbsp;<a class=suggest-link href="#" onclick="document.getElementById('popup8').style.display='none'; return false;"><img id="closeimg8" style="position: absolute; left: 112px;" src="img\close.png" border=0 alt="close window"></a> 
    </div> 
</td></tr> 
<tr><td><span class=help title="RCD ID">RCD ID:</span></td><td><input type=text class=navig-tabinput name=rcd_id value="<?= $searchpar['rcd_id']?>" id=rcd_id <?= $_COOKIE['nosugg'] == 'yes' ? '' : " onkeyup=\"findNames('rcd_id', 'popup9', 'table9', 'tbody9', 'closeimg9', 'load9', '', '', '');\" onkeydown=\"return catchkey(event);\" " ?>><img id=load9 style="visibility: hidden;" src="img/wait-e5effa.gif" alt="loading" border=0 hspace=2 vspace=0 align=absmiddle> 
    <div id="popup9" class="suggest-div"> 
    <table id="table9" class="suggest-tab"> 
     <tbody id="tbody9"></tbody> 
    </table> 
     <img src="img\dash.png" hspace=0 vspace=2><br>&nbsp;<a class=suggest-link alt="don't use suggestion" href="?mode=nosugg&backmode=">turn off suggestion</a>&nbsp;<a class=suggest-link href="#" onclick="document.getElementById('popup9').style.display='none'; return false;"><img id="closeimg9" style="position: absolute; left: 112px;" src="img\close.png" border=0 alt="close window"></a> 
    </div> 
</td></tr> 

回答

0

我的第一印象是您试图隐藏ID为advanced的元素。但使用HTML时,页面上只有一个元素可以具有相同的ID。尝试使用像jQuery这样的库,您可以在点击附近的按钮时精确定位隐藏的最近元素。

最后但并非最不重要:不要使用表格。只需使用样式<div>的。还可以使用CSS而不是使用style密钥。

+0

感谢您的建议,但这是公司代码,我只使用已经存在的内容并复制它以添加新输入。我无法改变它,即使我知道这样会更好:-)另外我认为“高级”ID只有一次,不是吗? – Mythago

+0

这是我的第一印象,因为没有太多的代码是非常有用的。我只能看到一行代码,你想隐藏的东西。 – Alexw