小编per*_*ck2的帖子

检测元素是否可见(不使用jquery)

我试图检测我给出id的html元素是否可见而不使用jquery.

上下文:

在忘记的用户密码页面中,我有一个表单,用户输入他的登录名并点击提交.在那之后,如果他设置了一个挑战问题,它将被显示,他将能够回答这个问题并再次提交.(之前的相同按钮).

我的问题:

当用户点击提交时,在IE中,如果他多次点击它,他每次点击它都会收到一封电子邮件.

我的想法:

我想在单击此提交按钮后禁用该按钮,但我只能在两个条件正确时禁用它:

  1. 如果用户已经提交了他的登录名(没有错误).
  2. 用户有一个chalenge问题注册,他正确回答.

我不能改变这个过程,所以我想在答案的字段中添加一个id并检查它是否可见.如果是,并且用户点击了提交按钮,我想在标签上应用属性禁用按钮.我不知道的是如何在不使用jquery的情况下执行此操作.

使用jQuery我可以做这样的事情:

if($('#secretAns').is(':visible')) {
    //i think it could be the solution 
    $('#general_Submit.Label').attr( disabled, disabled );

}
Run Code Online (Sandbox Code Playgroud)

申请:

<div id="secretAns" class="loginTxtFieldWrapper">
    <font color='red'>*</font><input type="text" name="secretAns" />
    <input type="hidden" name="isAnswerPage" value="1"/>
</div>
<p id="loginSubmitLink">
    <input id="general_Submit.Label" type="submit" value="general_Submit.Label" />" />
</p>
Run Code Online (Sandbox Code Playgroud)

我发现很难搜索纯javascript解决方案,因为每个人都倾向于使用jquery,我不能在我的应用程序中使用它,所以如果有人可以帮助我用纯javascript做这个,我会很感激.

html javascript cross-browser dom-events

15
推荐指数
1
解决办法
8186
查看次数

如何使用javascript检测IE10?

正如许多已经在其他问题(也在jQuery文档中)中发布的那样,旧jQuery.browser.version的已被弃用,仅适用于jquery1.3.

您是否知道另一种检测它的简单方法,我可以在之前的代码中包含:

function handleInfoDivPopupVisibility(dynamicEleId, staticEleId){
var parentContainer = $('headerSummaryContainer');
var dynamicEle = $(dynamicEleId);
var staticEle = $(staticEleId);

if(isIE() && parentContainer){
    if (jQuery.browser.version != 10) { // I need to find a way to detect if it's IE10 here.
        parentContainer.style.overflow = 'visible'; 
    }
}
dynamicEle ? dynamicEle.style.display = '' : '';
if(dynamicEle && staticEle)
    gui_positionBelow(dynamicEle, staticEle);
}
Run Code Online (Sandbox Code Playgroud)

在你说这个这个重复的问题之前,我想强调我不想使用css hacks.有没有办法像以前一样简单地检测它?

if (jQuery.browser.version != 10) {...
Run Code Online (Sandbox Code Playgroud)

javascript jquery cross-browser internet-explorer-10

12
推荐指数
2
解决办法
2万
查看次数

当值在地图中时,Map.containsValue()返回false

我正在尝试检查地图中的值何时,但我不知道为什么containsValue()没有正确检查它.

这是我的代码:

    Map<String, String> usersMap = userAPI.getBuyersFromBUUPToRootMap(getParentBusinessUnitId());
    //usersMap's [STDOUT] {super, root (rootSuper) - [EZMRootCmp]=3008, user, buyer A (buyer1) - [EZMBuyer]=1007, user, Obsvr (observer) - [EZMBuyer]=1006, user, Root (rootTest) - [EZMRootCmp]=3001, user, Test (test) - [EZMBuyer]=1001, zabuhab, Miguel (buyerAdmin1) - [EZMBuyer]=1008}

    System.out.println(usersMap.values()); 
    //[STDOUT] [3008, 1007, 1006, 3001, 1001, 1008]

    System.out.println(usersMap.containsValue(getUserProfile().getUserId())); //[STDOUT] false
    //getUserProfile().getUserId() [STDOUT] 1008
Run Code Online (Sandbox Code Playgroud)

如您所见,getUserProfile().getUserId()其值1008在Map中,但它返回false.

你知道为什么会这样吗?我该如何解决这个问题呢?我试着添加一个Long.valueOf(getUserProfile().getUserId()); 但它一直在回归false

PS:我搜查所以在这样的问题这样,但它并没有帮助我的这种情况

下面,我的完整代码:

    UserAPI userAPI = ServiceLocator.getService(UserAPI.class);
    Map<String, String> usersMap = …
Run Code Online (Sandbox Code Playgroud)

java map

2
推荐指数
1
解决办法
2856
查看次数

遍历jquery中同一个类的元素

我有一组属于同一类并具有表单字段的 div。我希望能够遍历同一类的 div 并获取隐藏的表单元素并存储在数组中。

我创建了一个数组对象,它在每次迭代后添加到一个数组中,但我认为我出错的地方是通过 div 的迭代,这是结构

<div class="parent_div">
    <div class="child_div" id="child_div_1" number="1">
        <div class="some_other_div">
        </div>
        <input id="name_1" type=hidden value="1.0"/>
        <input id="name_2" type=hidden value="4.0"/>
    </div>
    <div class="child_div" id="child_div_2" number="2">
        <div class="some_other_div">
        </div>
        <input id="name_2_1" type=hidden value="1.0"/>
        <input id="name_2_2" type=hidden value="4.0"/>
    </div>
    <div class="child_div" id="child_div_3" number="3">
        <div class="some_other_div">
        </div>
        <input id="name_3_1" type=hidden value="1.0"/>
        <input id="name_3_2" type=hidden value="4.0"/>
    </div>
</div>//end of parent div
Run Code Online (Sandbox Code Playgroud)

我已经编写了下面的 jQuery 代码来遍历这些 div,但我只是不知道我做错了什么。所以请帮助!

function doSomething() {
    var array = {};
    var rowCount = $("div .child_div").length;
    var rowNumber = …
Run Code Online (Sandbox Code Playgroud)

jquery

1
推荐指数
1
解决办法
1万
查看次数