通过PHP将数据保存到SQL时,请忽略空的组合框

时间:2018-11-05 20:50:34

标签: php filter combobox null

我有一个带有4组4个组合框的表单,当做出不同的选择时,这些组合框可见。我希望4组组合框将数据放入4个表单元格(每组一组)中,而忽略其他3个空白组合框。 框的布局如下;

Lab set 1 - Sample Type 1 - Sample Type 2 - Sample Type 3 - Sample Type 4

Lab set 2 - Sample Type 5 - Sample Type 6 - Sample Type 7 - Sample Type 8

Lab set 3 - Sample Type 9 - Sample Type 10 - Sample Type 11 - Sample Type 12

Lab set 4 - Sample Type 13 - Sample Type 14 - Sample Type 15 - Sample Type 16

每个实验室设置在任何时候都只能选择一个,因此,如果选择了样品类型1,样品类型5,样品类型11和样品类型12,则其余样品类型将为NULL。

我希望每个实验室集只有一个表格单元格,以便以后可以更轻松地显示数据,是否有可能忽略空值并使用以下命令填充实验室集的1、2、3、4个单元格仅选择数据还是我试图做不可能的事情?

这是我对其中一个禁用属性并隐藏可见性的组合框进行编码的尝试;

<select name="Lab1" id="Lab1" style="visibility:hidden;" onChange="if (this.value=='Alpha Bio Labs'){this.form['Samp1'].style.visibility='visible'}if (this.value=='Alpha Bio Labs'){this.form['Samp2'].style.visibility='hidden'}if (this.value=='Alpha Bio Labs'){this.form['Samp1'].prop.disabled='false'}if (this.value=='Alpha Bio Labs'){this.form['Samp2'].prop.disabled='true'}">
               <option selected>Lab</option>
                <option value="Alpha Bio Labs">Alpha Bio Labs</option>
                <option value="Cellmark">Cellmark</option>
                <option value="DNA Legal">DNA Legal</option>
                <option value="The Doctors Lab">The Doctors Lab</option>
              </select>

可见性的onChange编码如下;

//visible
if (this.value=='Alpha Bio Labs'){this.form['Samp1'].style.visibility='visible'}
//hidden
if (this.value=='Alpha Bio Labs'){this.form['Samp2'].style.visibility='hidden'}

我写了一组额外的函数,内容如下:

//Active    
if (this.value=='Alpha Bio Labs'){this.form['Samp1'].prop.disabled='false'}
//Not Active
if (this.value=='Alpha Bio Labs'){this.form['Samp2'].prop.disabled='true'}

上面的代码将与可见代码一起运行,因为我希望不活动的功能不可见,而我的测试表明不活动的功能仍然可见。

我在网上遇到了一些Javascript,并试图使其变得合适,我将代码放在下面;

var visopt = document.getElementsById('Samp1');
for(var  strUser = visopt.options [visopt.selectedIndex] .style.visibility;) {
    if(strUser.style.visibility='visible') {
        visopt.disabled = true;
    }
}

我在正确的轨道上吗?

1 个答案:

答案 0 :(得分:0)

我想通了,我只是将代码的第二部分链接添加到每个部分的Lab选择的OnChange函数中,如下所示;

onChange="if (this.value=='Alpha Bio Labs'){this.form['Samp1'].style.visibility='visible'}
              if (this.value=='Alpha Bio Labs'){this.form['Samp1'].disabled=false}"

对于每个条目,都重复并更改此代码,以确保它满足要求。

感谢@mickmackusa在早期提供的帮助,它使我走上了正确的轨道。