我对javascript不太了解,所以我在运行下面的脚本时遇到了问题。我需要检查输入的名称是否也包含在消息中。
<input type="hidden" id="Message" value="<%= rsDetail.Fields("Message") %>">
<input type="hidden" id="FirstName" value="<%= rsDetail.Fields("FirstName")%>">
<script type="text/javascript">
<!--
function NameCheck(){
var FirstName=document.getElementByID('FirstName');
var CardMessage=document.getElementByID('Message');
var aPosition = CardMessage.indexOf('FirstName');
if (aPosition == -1)
alert("Name Not In Message.");
}
-->
</script>
<a href="NextPage.asp" onClick="NameCheck();">Proceed</a>发布于 2011-10-19 21:13:58
看起来您正在尝试获取输入FirstName的值。getElementById()只返回节点本身。取而代之的是访问其值:
var FirstName = document.getElementById('FirstName').value;
var CardMessage = document.getElementById('Message').value;
// Then use the variable `FirstName` instead of the quoted string
var aPosition = CardMessage.indexOf(FirstName);
// Best practice would be to use === for strict type comarison here...
if (aPosition === -1)
alert("Name Not In Message.");
}另外,请注意,您拼写错了getElementById,其末尾应该是小写的大写D。
发布于 2011-10-19 21:13:51
带引号的'FirstName'是字符串,而不是变量FirstName。您需要:
// remove the quote, pass the variable FirstName instead of string 'FirstName'
var aPosition = CardMessage.indexOf(FirstName);编辑:我之前遗漏了两件事。首先需要获取节点的值,其次是大写的D。所以正确的代码是:
var FirstName = document.getElementById('FirstName').value;
var aPosition = CardMessage.indexOf(FirstName);发布于 2011-10-19 21:14:58
我想,这就是你正在尝试的。
var FirstName=document.getElementById('FirstName').value;
var CardMessage=document.getElementById('Message').value;
var aPosition = CardMessage.indexOf( FirstName );https://stackoverflow.com/questions/7821801
复制相似问题