[英]confitional focus on textbox using jquery
我有两个这样的复选框:
<input id="isGenericPassword" name="isGenericPassword"
onclick="IsGenericOrUnique(this.id);" type="checkbox" value="true" />
<input name="isGenericPassword" type="hidden" value="false" />
<input checked="checked" id="isUniquePassword" name="isUniquePassword"
onclick="IsGenericOrUnique(this.id);" type="checkbox" value="true" />
<input name="isUniquePassword" type="hidden" value="false" />
<input id="UniquePassword" name="UniquePassword" style="display:none"
type="text" value="" />
在document.ready中,我有
$('#isUniquePassword').is(':checked')
? $("#UniquePassword").show()
: $("#UniquePassword").hide();
因此,如果选中了复选框,则相关的文本框是可见的。
我在单击isUniquePassword复选框时隐藏了文本框UniquePassword
$("#isUniquePassword").click(function () {
$("#UniquePassword").toggle(this.checked);
if ($("#isUniquePassword").is(':checked')) {
// unique password gets focus only if related checkbox is checked
$("#UniquePassword").focus();
}
});
并在用户不输入任何内容而试图离开时显示对话
$("#UniquePassword").blur(function () {
if ($("#isUniquePassword").is(':checked') &&
$("#UniquePassword").val() == '')
{
$("#dialog-RecipientEmail-error").dialog("open");
}
});
然后在“确定”按钮上单击该对话框,再次将焦点设置到该文本框,以便输入值
$("#dialog-RecipientEmail-error").dialog({
autoOpen: false,
resizeable: false,
width: 300,
modal: true,
buttons: {
"OK": function () {
$(this).dialog("close");
$("#UniquePassword").focus();
}
}
});
不,我希望如果isGenericPassword被选中或isUniquePassword被取消选中,那么我应该得到该错误对话框
$(“#UniquePassword”)。focus(); 不会聚焦该字段,而是将触发与焦点事件绑定的操作。 要聚焦一个字段,您需要获取HTML元素的句柄
$("#UniquePassword").get(0).focus();
那应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.