我想使用HTML5日期输入字段
<input type='date' name='customDate'>
Run Code Online (Sandbox Code Playgroud)
这样其他用户就可以使用浏览器中的内置日期选择器.
我想检查输入是否实际上是日期格式.正如我在这里找到的:有没有办法改变输入类型="日期"格式?没有独特的演示格式.例如,在Chrome中,日期字段的输入以dd.mm.yyyy的形式给出,在Firefox 24或IE 9/10中,输入字段中的日期显示为YYYY-MM-DD.
我的第一个问题是,您如何告诉用户您希望他在日期中键入哪种格式?在Firefox中我需要类似的东西
<label>Enter Date(YYYY-MM-DD)</label><input type='date'
name='customDate' placeholder='YYYY-MM-DD'>
Run Code Online (Sandbox Code Playgroud)
但这对Chrome来说是错误的.
其次,如果当前输入是(浏览器的)有效日期格式,我如何在提交之前检查?我知道如果日期格式为YYYY-MM-DD,我可以在提交后检查PHP,但是如何在提交之前用JavaScript检查它?
我必须格式化日期DD-MMM-YYYY格式.我正在使用reactjs.日期格式为IE但是not in Google Chrome.请建议.
<input name="requested_order_ship_date" type="date"
disabled={ this.state.mode }
value={ moment(this.state.item.requested_order_ship_date).format("DD-MMM-YYYY") }
className="form-control" onChange={ this.handleInputChange } />
Run Code Online (Sandbox Code Playgroud) 有什么办法可以隐藏年份部分的html日历面板,只在日历上显示月份和日期部分。
有没有一种方法可以使用 jQuery 将text类型输入字段转换为date类型输入字段,以便向用户显示日期选择器?我可以将自定义字段添加到由 Wordpress 插件创建的表单中,但它不支持date也不支持datetime-local字段类型,而我需要这样一个。
<input name="adverts_eventDate" id="adverts_eventDate" type="text">
Run Code Online (Sandbox Code Playgroud) 我在使用java.sql.Date.valueOf(java.lang.IllegalArgumentException)和使用Integer.parseInt(java.lang.NumberFormatException)的整数解析日期时遇到问题.
我有一个表单,要求使用条形码编号,日期和日期使用HTML5和Chrome,这将连接到后台的PostgreSQL数据库,返回带有项目的表格.当指定所有3个时,这非常有效.
但是,我希望用户能够仅使用条形码进行搜索,因此返回所有相关条目,无论日期是什么.同样,只使用日期来获取指定日期之间的任何条目.
这是我的表格:
<th><input type="text" name="barcode" size="20"></th>
<th><input type="date" name="dateFrom"></th>
<th><input type="date" name="dateTo"></th>
<th><input type="submit" value="Submit" /></th>
Run Code Online (Sandbox Code Playgroud)
现在,我理解解析函数不喜欢空值,为此我使用了一个If语句来检查空值并赋值:
Date dateFrom;
String stringDateFrom = request.getParameter("dateFrom");
if (stringDateFrom == null){
dateFrom = Date.valueOf(LocalDate.MIN);
} else {
dateFrom = Date.valueOf(stringDateFrom);
}
Run Code Online (Sandbox Code Playgroud)
我的理解是If语句检查语句是否为True,如果是,则处理代码并退出,如果语句为False,则跳转到"else"部分并处理其代码.因此,如果我没有为表单中的dateFrom字段输入值,则String'stringDateFrom'将为null,因此If语句的第一部分应该运行并跳过第二部分.
这种情况不会发生,即使是'stringDateFrom'的空值我在If语句的下面一行得到错误'java.lang.IllegalArgumentException',我认为应该跳过它?
dateFrom = Date.valueOf(stringDateFrom);
Run Code Online (Sandbox Code Playgroud)
我得到错误'java.lang.NumberFormatException'与完全相同的设置,但解析一个整数,代码行是;
barcode = Integer.parseInt(stringBarcode);
Run Code Online (Sandbox Code Playgroud)
这是我的解析代码或我的if语句代码吗?
对不起,很长的帖子,我是学生,这是我项目的一部分,我不是贸易的java程序员;-)
感谢您的帮助.
编辑:解决了
感谢unholysampler让我指向正确的方向.问题是setParameter返回一个空的String作为null,因此从未满足条件.
我更改了代码以检查空字符串,或者不是空字符串,它可以工作,即
if (stringDateFrom == null) 至 if (stringDateFrom.equals(""))
和
if (stringBarcode != null) 至 if (!stringBarcode.equals(""))
感谢你的帮助.
编辑:Stacktrace
'java.sql.Date.valueOf(Date.java:143)'中的行是指代码;
if (d == null) {
throw new java.lang.IllegalArgumentException(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试显示月份和年份,而不是 dd/mm/yyyy。我的代码如下:
这是模型代码
[Display (Name = "ValidFrom")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MMM-yyyy}" , ApplyFormatInEditMode = true)]
public System.DateTime ValidFrom { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是查看文件
<div class="form-group">
@Html.LabelFor(model => model.ValidFrom, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.ValidFrom, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.ValidFrom, "", new { @class = "text-danger" })
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法只能让 mm/yyyy 出现?
date ×3
jquery ×2
asp.net ×1
asp.net-mvc ×1
c# ×1
datepicker ×1
html ×1
html5 ×1
if-statement ×1
input ×1
java ×1
javascript ×1
null ×1
parsing ×1
php ×1
picker ×1
reactjs ×1
wordpress ×1