问题:我想确定用户是手动输入还是已选择。如果用户手动输入了一个值,我希望显示一个特定的隐藏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> <!---<input type="hidden" name="txtSearch" value="<cfoutput>#SearchName#</cfoutput>" size="20"> ---><!--- OPT <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# - #HPNAME#</option>
</cfoutput>
</select>
<input type="button" class="buttona" onClick="SubmitMe()" value="Search">
<!---
<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">
我不确定我做错了什么。任何援助将不胜感激。
更新:我有以下内容检查值是否为空:
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";
}
信息会出现片刻,然后消失。在用户提交后我需要做什么让它显示?如何在用户输入值时实现此目的?