如何永久检查文本框值的更改

时间:2015-07-23 22:25:31

标签: javascript

我需要一些关于监控文本框值更改的帮助。

以下是该场景:我有一个表单,其中包含一些由javascript日历填写的文本框。一旦我选择日期日历,就会在日期中填充文本框。但是,文本框永远不会成为焦点。现在,我需要检查文本框中的值,因为文本框很快就会从日历中获取信息。基本上原因是我需要比较日期并确认日期2不低于日期1.

OnChangeOnBlurOnKeyup事件对我正在尝试的事情不起作用。我的意思是,如果我使用它们就可以工作但不是我需要的。

我尝试了一些代码,但由于某种原因,事件永远不会启动或从不检测到更改。

以下是我正在尝试做的一些例子:

$('#date2').bind('input', function() {
    /* This will be fired every time, when textbox's value changes. */
} );

jQuery('#date2').on('input', function() {
    // do your stuff
});

有没有办法做到这一点?任何帮助都非常感谢。

4 个答案:

答案 0 :(得分:0)

我想我明白你的意思,我会尽力把你推向正确的方向。当日历将信息输入文本框时,您希望从文本框中读取信息吗?

一个简单的jquery命令,可用于提供自动对焦。虽然只有一件事可以同时聚焦,所以你不能把它设置成多个项目。

$(function() {
  $("#date2").focus();
});

当某些内容获得焦点时,您也可以调用en事件。比如将字符串输入到文本框中。这可以用于多个项目。

$(selector).focus(function)

选择器是您的元素ID,而函数是您想要发生的任何事情。

有关详细信息,请参阅链接。

W3Schools

修改

这不是你的领域

displayArea: ".siblings('.dtcDisplayArea')"

是为了?日期应放在那里。为什么你不能从那里抓住它或改变它以便将它放入你的文本框?

答案 1 :(得分:0)

如果您不需要支持旧浏览器,则可以使用Mutation Observers

答案 2 :(得分:0)

这就是我要做的事情:

单击日历图标后,您可以选择日期。选择日期后,您可以使用此代码将日期传递给名为“Fecha Vencimiento”的文本框。这是代码:

<script type="text/javascript">
        $(document).ready(function () {
            $("#<%=txtFechaVencimiento.ClientID %>").dynDateTime({
                showsTime: false,
                //ifFormat: "%Y/%m/%d %H:%M",
                //ifFormat: "%Y/%m/%d",
                ifFormat: "%d/%m/%Y",
                daFormat: "%l;%M %p, %e %m, %Y",
                align: "BR",
                electric: false,
                singleClick: false,
                displayArea: ".siblings('.dtcDisplayArea')",
                button: ".next()"
            });
            $("#txtFechaVencimiento").focus();
        });
    </script>

焦点不适用于该文本框。

答案 3 :(得分:0)

我发现根本不需要这部分代码。 Se评论说:

Table B

最后一行按钮:“next()”是调用日期并将其放入文本框的按钮。这是我正在使用的日历:http://www.aspsnippets.com/Articles/DateTimePicker-control-for-ASPNet-TextBox-Example.aspx