我正在使用类型为日期的HTML输入元素,

<input
    type="text"
    placeholder="Date of Appointment"
    id="appointment_date"
    name="appointment_date"
    class="input-sm form-full"
    required value="<?php if(isSet($_POST["submit"])){echo $_POST['appointment_date'];}?>"
    onfocusout="(this.type='text')"
    onfocus="(this.type='date',this.step='0')"
>


当我使用上述元素时,它会创建一个默认的日期格式,即该输入元素中的mm / dd / yyyy文本。

如何删除此默认文本?

我想禁用dd-mm-yyyy步骤值,因此只能将选定的日期作为上述代码的输入。请为此提出一个JS解决方案。
我尝试在页面上添加以下样式,但它也隐藏了所选的日期值,

input[type=date]::-webkit-datetime-edit-text {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-month-field{
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-day-field {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-year-field {
    -webkit-appearance: none;
    display: none;
}

最佳答案

您可以尝试这一方法,希望对您的问题有所帮助。但这不是解决此类问题的好方法。



$("#appointment_date").on('focus', function(){
	this.type='date';
});

$("#appointment_date").on('input', function(){
	this.type='text';
});

input[type=date]::-webkit-datetime-edit-text {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-month-field{
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-day-field {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-year-field {
    -webkit-appearance: none;
    display: none;
}

<input type="text"
       placeholder="Date of Appointment"
       id="appointment_date"
       name="appointment_date"
       class="input-sm form-full" >





https://jsfiddle.net/4xua73vo/12/

09-30 17:02
查看更多