使用按钮用javascript切换文本框的状态
Toggle state of textbox with javascript using a button
我有一个如下形式:
<form>
<label for="input">Input:</label>
<input type="text" id="input" maxlength="3"></input>
<button type="button" id="lock" onMouseDown="toggleInput()"></button>
</form>
和javascript代码:
function toggleInput(){
if ($("#input").disabled){
$("#input").disabled = false;
}
else {
$("#input").disabled = true;
};
}
我基本上想做的是检查文本框处于状态(启用/禁用),然后相应地切换状态。我不知道javascript部分是否使用了正确的语法来检查文本框是否被禁用,但这是我能想到的。
提前感谢!
编辑:为什么我选择使用onmousedown而不是onclick来执行带有按钮的事件的原因:
我选择使用onmousedown而不是onclick,因为它让我正在构建的应用程序感觉不那么笨重,因为onclick有这个功能:当你点击一个按钮,然后在按住鼠标按钮的同时将光标从按钮上拖走,然后当光标位于网页上远离按钮的区域时,则不会执行该事件。因此,我选择使用onmousedown来克服这一问题。
使用.prop()
,获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性
$("#input").prop('disabled',!$("#input").prop('disabled'))
演示
我不知道你为什么使用onMouseDown
。使用click
代替
$("#lock").on("click", function() {
$("#input").prop('disabled',!$("#input").prop('disabled'))
});
点击演示
要使用jQuery,请尝试以下操作:
$("#input").prop("disabled", function(i, v) { return !v; });
您现有的代码不起作用,因为DOM元素有.disabled
属性,而jQuery对象没有。
我不知道为什么要使用onmousedown
而不是onclick
作为按钮,但无论哪种方式,如果要使用jQuery,我都建议删除内联事件属性,以便将处理程序与jQuery绑定:
$("#lock").on("click", function() {
$("#input").prop("disabled", function(i, v) { return !v; });
});
(您需要将该代码包含在正文末尾的脚本块中或文档就绪处理程序中。)
演示:http://jsfiddle.net/a7f8v/
您应该用jQuery而不是onMouseDown事件附加事件处理程序。语法可能如下所示:
<label for="input">Input:</label>
<input type="text" id="input" maxlength="3"></input>
<button type="button" id="lock"></button>
JavaScript:
$(document).ready(function() {
$("#lock").click(function() {
var input = $("#input");
input.prop('disabled',!input.is(':disabled'))
});
});
示例
相关文章:
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 焦点输入时保持文本处于选中状态
- 如何使用JavaScriptExecutor来获取出现在浏览器上的文本's状态栏
- jQuery成功,访问HTTP状态文本
- 如何使用jQuery获取原始状态文本
- 使用按钮用javascript切换文本框的状态
- 获得readyState为4和状态200加上状态文本“0”;OK”;而成功函数仍然没有;我没有接到电话
- 为什么可以't键入文本输入时,单选按钮保持选中状态
- 保存 html 文本区域状态
- 在 Dojo 增强网格筛选器栏上设置状态文本
- 如何在内容可编辑元素中的文本失去焦点时保持该元素处于选中状态
- 当处于活动状态时,我如何删除文本修饰.我有以下代码,但链接带有下划线
- 设置状态 [反应本机] 后无法编辑输入文本
- 如何在使用数字输入更改字体大小时保持文本选中状态
- 检测文本溢出:省略号在输入字段上是否处于活动状态
- “Enter”键在文本框处于活动状态时调用javascript函数
- 在 raphaeljs 中,有没有办法在对象中放置文本以保持翻转状态
- html 我需要用图形代替 vcr 控件的文本来控制数据库中的状态
- Photoshop 脚本 - 如何在一种历史记录状态下创建文本图层
- Rails API-移动应用程序状态文本错误