在输入日期内获得价值

时间:2019-01-16 19:56:54

标签: javascript jquery ajax

我正在使用输入文本日期类型,并且试图在输入文本被填充或在内部单击某些值时获取值,我需要在输入内部捕获值的什么事件?

我从jquery放了一个keyup,但是只有当有人按下一个键时才能使用它,但是在此字段日期类型中,您可以在箭头中单击它,并且我的值不会更新,并且当我从中获取值时此值也不会更新数据库。

void main(){
  runApp(MaterialApp(
    home: MyWidget(),
  ));
}

class MyWidget extends StatelessWidget {

  Widget build(BuildContext context) {
    // retrieve the mediaQuery data
    final mediaQueryData = MediaQuery.of(context);
    if (mediaQueryData.accessibleNavigation) {
      return Text('Screen reader is on');
    } else {
      return Text('Screen reader is off');
    }
  }

}

无论数据如何到达他,我都希望获得输入的价值

3 个答案:

答案 0 :(得分:1)

  1. 不会在datePicker上触发键入事件,因为您不使用键盘与其进行交互。改为监听更改事件。

  2. 始终将JavaScript保持在body标签结束处。

  3. 我暂时不知道您在var date=age(value)中试图做什么。

附带的工作片段。

谢谢。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
Enter your name: <input id="name" type="date">
<div id="messaje"><p>value update from input text date type</p></div>
<script type="text/javascript">

$(document).ready(function(){
  $("#name").on("change",function(){
    var valor = $(this).val();
    $("#messaje p").html(valor);
  });
});
</script>
</body>

答案 1 :(得分:0)

将事件keyup更改为change

$(document).ready(function() {
  $("#dateInput").on("keyup change", function() {
    var valueDate = $(this).val();
    console.log(valueDate);

  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
I'm using a input Text date type and i'm trying to get value when input text is fill or some value clicked inside, what event i need to catch value inside the input? I put a keyup from jquery but only work it when someone press a key, but in this field
date type you can click it in the arrows and my values ​​do not update and this value neither update when i get value from database.




<body>
  Enter your name: <input id="dateInput" type="date">
  <div id="messaje">
    <p>value update from input text date type</p>
  </div>
</body>

答案 2 :(得分:0)

好吧,我认为您的第一个问题是您使用了错误的事件,应该使用更改 这是您的输入

<input type="date" id="start">

然后您应该像这样编写事件处理程序

object = document.getElementById("start");
object.addEventListener("change", function(){
 alert (document.getElementById("start").value)

});