0

我有两个输入字段。一个有名字,另一个是验证名字。我想在其中添加一些验证。如果我的第一个输入包含“robert”,那么用户只能在下一个字段中输入“robert”。但这并没有给我想要的结果

<head>
<script type="text/javascript">
$(function(){
var jn= [];
$('#first').keypress(function(e){
var d= e.charCode || e.keyCode;
jn.push(d)})

var jm=[];      
$('#second').keypress(function(e){
var f= e.charCode || e.keyCode;
jm.push(f)
for(i=0;i<jn.length;i++){
for(z=0;z<jm.length;z++)
{
if(jn[i]==jm[z]){
alert('hiii')}}}})
})
</script>
</head>
<body>
name
<input type="text" id="first" />
verify name
<input type="text" id="second" />
    </body>
4

3 回答 3

1

我相信你想多了。您的解决方案也不适合编辑(由于必须跟踪键码数组)。尝试这样的事情

http://jsfiddle.net/qccQZ/3/

$("#field2").keypress(function(e){
    var f1 = $("#field1").val();
    var len = $(this).val().length;
    var str = String.fromCharCode(e.charCode)
    if(f1.charAt(len) != str) return false;
});​
于 2012-11-14T07:22:01.820 回答
1
$('#second').blur(function(){
if($('#first').val() != '' && ($('#first').val() == $('#second').val()))
alert('valid');
else
alert('invalid');
});

测试:http: //jsfiddle.net/Dzb8c/

于 2012-11-14T07:22:57.027 回答
0

我认为你应该使用这个 for 循环

for(i=0;i<jm.length;i++){
     if(jn[i]!=jm[i])
       {
         alert('hiii');
       }
  }
于 2012-11-14T07:29:08.983 回答