【发布时间】:2013-01-02 12:26:17
【问题描述】:
我正在尝试在不使用 jquery 的情况下检测我提供 id 的 html 元素是否可见。
上下文:
在忘记用户密码页面,我有一个表单,用户输入他的登录名并点击提交。之后,如果他设置了一个挑战问题,它将被显示,他将能够回答这个问题并再次提交。 (之前的按钮相同)。
我的问题:
当用户点击提交时,在IE中,如果他多次点击,每点击一次就会收到一封邮件。
我的想法:
我想在点击这个提交按钮后禁用该按钮,但只有两个条件都正确我才能禁用它:
- 如果用户已经提交了他的登录名(没有错误)。
- 用户注册了一个挑战问题并且他回答正确。
我无法更改已完成的过程,因此我考虑在答案字段中添加一个 id 并检查它是否可见。如果是并且用户单击提交按钮,我想在标签上应用属性禁用按钮。我不知道如何在不使用 jquery 的情况下做到这一点。
使用 jQuery 我可以做这样的事情:
if($('#secretAns').is(':visible')) {
//i think it could be the solution
$('#general_Submit.Label').attr( disabled, disabled );
}
申请日期:
<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>
我发现很难搜索纯 Javascript 解决方案,因为每个人都倾向于使用 jQuery,而我不能在我的应用程序中使用它,所以如果有人可以帮助我使用纯 Javascript 做到这一点,我将不胜感激。
【问题讨论】:
-
检查 jQuery 的源代码,看看他们用
:visible选择器做了什么。 -
@Ajinkya,你注意到“重复”是一个 jQuery 问题,对吧?
-
这就是我现在要说的......我不能使用jquery。
-
@gdoron:刚刚注意到了。谢谢
标签: javascript html cross-browser dom-events