a的价值<input type="text">可以通过多种方式改变,包括:
我希望我的JavaScript函数在任何时候都会被调用(使用当前输入值).我希望它能立即被调用,而不仅仅是当输入失去焦点时.
我正在寻找在所有浏览器中执行此操作的最干净,最强大的方法(最好使用jQuery).
示例用例:在Twitter注册页面上,用户名字段的值显示在其下方的URL" http:// twitter/username "中.
我在表单中有一个输入元素,我希望能够在值更改时提取其值.看看这个小提琴:http://jsfiddle.net/spryno724/WaBzW/1/.
通过使用该change事件,我可以在输入失去焦点时显示文本输入中的值.但是,重置表单或JavaScript清除文本输入的值时,值不会更新.
是否有一个我可以监听的特定事件,当对文本输入控件进行任何更改时将调度该事件?
我想避免解决方法,例如在重置表单时监听,或者按下清除按钮时.这是我的应用程序所做的简化示例,如果我尝试完成所有这些操作,它会变得非常快.
感谢您的时间.
我有以下问题:
我有一个HTML文本框(<input type="text">),其内容由我无法触摸的脚本修改(这是我的页面,但我正在使用外部组件).
我希望每次文本框的值发生变化时都会在我的脚本中收到通知,所以我可以对它做出反应.
我试过这个:
txtStartDate.observe('change', function() { alert('change' + txtStartDate.value) });
Run Code Online (Sandbox Code Playgroud)
哪(可预见)不起作用.它只会在我自己用键盘更改文本框值然后将焦点移动到其他位置时执行,但如果脚本更改了值,则不会执行它.
还有我可以听的另一个事件,我不知道吗?
我正在使用Prototype库,如果它是相关的,修改文本框值的外部组件是Basic Date Picker(www.basicdatepicker.com)
我有一个JavaScript库,可以根据某些内容更新隐藏的 <textarea> HTML元素和一些数据.
在我的(JavaScript)应用程序中,我想知道何时发生这些更新,而无需通过现有的库代码.
我希望有一个事件,但显然不是.
我该如何听取textarea的变化?
变化可以很简单 document.getElementById("myTextarea").value = "hello";
编辑我将仅使用FireFox,因为此代码只是我正在构建的测试套件的一部分.
正如我的问题的标题所述.每当输入元素的值改变时,我希望它执行一个函数.我知道该函数正在运行,因为我已经在像onkeyup这样的onkey事件上进行了测试.但是,我不会使用onkey事件,因为我有脚本来操纵input元素的值.我也知道问题在于addEventListener方法的第一个参数.我已经尝试了各种各样的参数,比如DOMAttrModified/change/DOMsomethingelse,但它不起作用.我还在SO,JS Events中查看了一些类似的问题:在文本输入上挂钩值变化事件.以下代码适用于onkey事件:
inputTitle.addEventListener('DOMAttrModified',function(event){
someFunction(this.value);
},false);
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我.我已经试图解决这个问题很长一段时间没有成功,我知道这也只是一个小问题.请给我一些经过测试和工作的代码示例.
更新:上面有一件事我错了.如果我使用"更改"事件,则在失去对输入元素的焦点之后将执行该函数.所以它确实有效.但我希望它像onkeyup事件一样工作,其中函数像Google瞬间一样实时执行.不幸的是,我不能使用'keyup'事件,因为我有som脚本或者说一个正在修改输入元素值的按钮.运行这些脚本时,不会执行该函数.
更新2:我找到了解决这个问题的方法.它是为执行"someFunction"的valemodifyings脚本添加其他脚本.我真的不喜欢这个解决方案,因为它不是很好的编码.我可能有四个脚本来调用该函数
我有一个产品订购单,有不同尺寸可供选择。因此,对于每个产品,每个尺寸都有一个输入,总和位于行的末尾。我现实我有大约 500 行。
<table>
<tr>
<th>Product</th>
<th>Size 1</th>
<th>Size 2</th>
<th>Size 3</th>
<th>TOTAL</th>
</tr>
<tr>
<td>A</td>
<td><input type="text" class="productA"></td>
<td><input type="text" class="productA"></td>
<td><input type="text" class="productA"></td>
<td></td>
</tr>
<tr>
<td>B</td>
<td><input type="text" class="productB"></td>
<td><input type="text" class="productB"></td>
<td><input type="text" class="productB"></td>
<td></td>
</tr>
<tr>
<td>C</td>
<td><input type="text" class="productC"></td>
<td><input type="text" class="productC"></td>
<td><input type="text" class="productC"></td>
<td></td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
我尝试了几种方法,但它从来不想工作。我只成功地一次计算了所有输入,而不仅仅是单独计算了一行。
td每次输入更改时,我想计算最后每一行的总和。
有谁知道我如何解决这个问题?
javascript ×7
html ×4
jquery ×3
events ×2
breakpoints ×1
debugging ×1
dom ×1
forms ×1
watch ×1