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

How to check permanently textbox value change

本文关键字:文本 何永久 检查      更新时间:2023-09-26

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

下面是场景:我有一个表单,其中有一些文本框是由javascript日历填写的。只要我选择日期,日历就会用日期填充文本框。然而,文本框从来没有得到关注。现在,我需要检查在文本框中放置的值,只要文本框从日历中获取信息。基本上,原因是我需要比较日期并验证日期2不低于日期1。

OnChange, OnBlur, OnKeyup事件不适合我要做的事情。我的意思是,如果我使用它,它们可以工作,但不是我需要的。

我已经尝试了一些代码,但由于某种原因事件从未触发或从未检测到更改。

下面是我要做的一些例子:

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

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

有办法吗?

如果你不需要支持旧的浏览器,你可以使用变异观察者。

这就是我要做的:

只要日历图标被点击,你可以选择一个日期。选择日期后,使用此代码将日期传递给名为"Fecha venciiento"的文本框。下面是代码:

<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>

焦点不适合那个文本框

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

一个简单的jquery命令,可以用来自动对焦。虽然一次只能聚焦一件事,所以你不能把它设置为多个项目。

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

你也可以调用一个事件当某些东西收到焦点。例如在文本框中输入字符串。这可以用于多个项目。

$(selector).focus(function)

选择器是你的元素ID, 函数是你希望发生的任何事情。

查看链接获取更多信息。

W3Schools

编辑

这不是你的字段吗

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

?日期应该写在那里。为什么你不能从那里抓取它或者改变它让它放到你的文本框中呢?

我发现这部分代码根本不需要。注释行:

$(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()"
            });
        });

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