检查是否已选择输入或textarea标签

时间:2017-07-14 16:15:28

标签: javascript css coldfusion

问题:我想确定用户是手动输入还是已选择。如果用户手动输入了一个值,我希望显示一个特定的隐藏tr标签。如果用户选择放大镜,则会出现一个不同的弹出框,用户可以选择一个值并显示该值。因此,如果用户执行任何操作,或者仅显示隐藏标记

所以目前,我有以下css来隐藏特定的tr标签:

#display{display:none;}
#display1{display:none;}

我在以下标签上有这些ID。以下代码在Coldfusion中完成,我在线阅读了教程:

<tr id="display">
      <td valign="top"><input name="txtHealthPlan" value="<cfoutput>#strHealthPlan#</cfoutput>" size="30" style="border:none;background-color:transparent;" readonly> </td>
      <td><textarea class="a" name="txtOPTDesc" cols="25" rows="2" id="txtOPTDesc" readonly ><cfoutput>#strOPTDesc#</cfoutput></textarea></td>

      </tr>
      <cfif #strsflag# Neq 1>
       <cfquery name="CONTRACTS" datasource="OCE">
         select CODE, NAME from CONTRACTS
            where CODE = '#SearchName#'

        </cfquery>

        <cfquery name="Description" datasource="OCE">
          select DESC from BM_OPT_MASTER
          where CODE = '#SearchName#'
          and OPT = '#strOPT#'

        </cfquery>

  <tr id="display1">
  <td valign="top" style="background:white;"><input id = "display4" name="txtPlannew" value="<cfoutput>#CONTRACTS.NAME#</cfoutput>" size="30" style="border:none;background-color:transparent;" readonly> </td>
   <td style="background:white;"><textarea  id = "display5" class="a" name="txtOPTDescnew" cols="25" rows="2" id="txtOPTDescnew" readonly ><cfoutput>#OPTDescription.OPTDesc#</cfoutput></textarea>

      </td>
      </tr></cfif>

以下是用户在点击放大镜选择值时重定向的弹出窗口

 <p align="center">

 <strong>Health Plan</strong> &nbsp;&nbsp; <!---<input type="hidden" name="txtSearch" value="<cfoutput>#SearchName#</cfoutput>" size="20">  ---><!---&nbsp;&nbsp;OPT&nbsp;&nbsp;<input class="a" name="txtOPT" size="15" 
     value="<cfoutput>#strOPT#</cfoutput>">---> 

     <select name="HPlanDrop" id="HPlanDrop" class="bb">
                                 <option value=""></option>
                                 <cfoutput query="HPCONTRACTS"> 
                                  <option value="#HPCODE#">#HPCODE#&nbsp;-&nbsp;&nbsp;#HPNAME#</option>

                                </cfoutput> 
                                </select>
     &nbsp;&nbsp;
  <input type="button" class="buttona" onClick="SubmitMe()" value="Search">
  <!---&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" value=" Clear " onClick="ClearForm()">--->
    </p>

我有以下监听器来检查用户是否已手动输入值或是否已点击某个值。

var display = document.getElementById["display"].addEventListener("input", checkTextField);
    var display1 = document.getElementByClassName["display1"].addEventListener("click", checkTextField);
    function checkTextField() {
        var check = document.getElementById["display"].value;
        var check1 = document.getElementById["display1"].value;

        if(check){
            document.getElementById("display").style.display = "block";
            return true;
        }
        else{
            if(check1){
                document.getElementById("display1").style.display = "block"
                return true;
            }
        }
    }

我在提交按钮上有这个功能:

 <input type="button" onClick="return checkTextField(); SubmitMe();" value="Submit">&nbsp;&nbsp;

我不确定我做错了什么。任何援助将不胜感激。

更新:我有以下内容检查值是否为空:

if (document.HPlanLookup.txtSearch.value=="") {
  alert("Please enter the HPCODE.")
  document.HPlanLookup.txtSearch.focus()
  return false
}

如果用户未输入任何值或选择任何值,则该方法有效:

如果检查它是否为空并且看到:

,我有以下内容
 if(document.HPlanLookup.txtSearch.value!="" && document.getElementById("HPCODE").click == true){
        checkTextField()
    }

以下功能只删除隐藏部分:

function checkTextField() {
    document.getElementById("display").style.display = "block";
}

信息会出现片刻,然后消失。在用户提交后我需要做什么让它显示?如何在用户输入值时实现此目的?

0 个答案:

没有答案