如果输入的值与男性或女性相匹配,如何获取以下功能以自动将访问者带到不同的URL。例如,如果它与man匹配,则将其带到URL A,而Woman将它们带到URL B
<script type='text/javascript'>
function isAlphabet(elem, helperMsg){
var alphaExp = /man/;/woman/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
</script>
<form>
Letters Only: <input type='text' id='letters'/>
<input type='button'
onclick="isAlphabet(document.getElementById('letters'), 'Letters Only Please')"
value='Check Field' />
</form>
答案 0 :(得分:1)
您可以使用对象将输入值与URL匹配:
var urlMap = {
'man' : 'http://some.domain/something',
'woman' : 'http://some.domain/something/else',
'cat' : 'http://whatever.you.want/more/here',
'dog' : 'http://the.last.example/for/now'
};
然后你可以进行查找:
function lookupUrl( choice ) {
var url = urlMap[ choice ];
if (url === undefined) throw "Improper input!";
return url;
}
(或者在您的申请中有意义的任何内容。)
顺便说一句,你的例子中的正则表达式应该是:
var alphaExp = /^(?:man|woman)$/;
但我不认为你应该这样做。
编辑 - 另一件事:您正在调用“getElementById()”来获取某个元素,可能是<input>
,但您需要确保检查其“值”属性:
var theUrl = lookupUrl(document.getElementById('letters').value);
答案 1 :(得分:0)
经过一些研究和问题,我做了如下所示,它的工作原理
function access()
{
if(document.getElementById('letters').value=='stevo' && document.getElementById('website').value=='1080' )location.href='http://www.stevsho.com'
else if(document.getElementById('letters').value=='woman')location.href='http://www.dynamicdrive.com'
else if(document.getElementById('letters').value=='cat')location.href='http://www.youtube.com'
else if(document.getElementById('letters').value=='dog')location.href='http://www.dailymotion.com'
else alert('Access denied. Try again.')
form>
<input type='text' class="clientelog" id='website' value="Website"> </input>
<input type='text' class="clientelog" id='letters' value="Code" >
</input>
<input class="checkerbttn" type='button' onclick='access()' value='show me' ></input>
</form>