首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过JavaScript或jQuery从cfinput获取onblur input id或tabIndex?

如何通过JavaScript或jQuery从cfinput获取onblur input id或tabIndex?
EN

Stack Overflow用户
提问于 2012-10-10 18:02:01
回答 1查看 1K关注 0票数 1

我有一个ColdFusion cfform,其中包含:

代码语言:javascript
复制
<cfinput type="text" name="part1" id="part1" tabIndex="1" onblur="enabled()" >
<cfinput type="text" name="part2" id="part2" tabIndex="2" onblur="enabled()" disabled="disabled" >
<cfinput type="text" name="part3" id="part3" tabIndex="3" onblur="enabled()" disabled="disabled" >

我想要的是让输入框禁用,除非它之前的输入框不是空的,所以我这样做了:

代码语言:javascript
复制
function enabled()
{
    var curIndex = + ( $( " * : focus " ).attr( " tabIndex " ) );
    var curVal = $( ' * : input [ tabIndex=' + curIndex + ' ] ' ).val();
    var nextIndex = curIndex + 1;
    var nextId = $( ' input [ tabIndex = " ' + nextIndex + ' " ] ' ).attr( " id " );
    if ( curVal == "" )
    {
        nextId.setAttribute( ' disabled ', ' disabled ' );
    }
    else
    {
        nextId.removeAttribute( ' disabled ' );
        nextId.focus();
    } 
} 

但我坚持获取curIndex,当我提醒它时,它似乎是“未定义的”。

任何建议都是值得感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-10 18:06:11

下面是什么:

代码语言:javascript
复制
​$('input[type=text][name^=part]').on('blur',function(){​​​​​​​​​​​
    var el = $(this);
    var elNext = el.next('input[type=text][name^=part]');
    if(el.val()!=''){
        elNext.removeAttr('disabled');
    }else{
        elNext.attr('disabled',true);
    }
});

所以你不需要处理输入:

代码语言:javascript
复制
<cfinput type="text" name="part1" id="part1" tabIndex="1" > 
<cfinput type="text" name="part2" id="part2" tabIndex="2" disabled="disabled" > 
<cfinput type="text" name="part3" id="part3" tabIndex="3" disabled="disabled" >

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12816700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档