Вы можете использовать троичный оператор для форматирования даты как оператор «if».
Например:
var MyDate = new Date();
MyDate.setDate(MyDate.getDate()+10);
var MyDateString = (MyDate.getDate() < 10 ? '0' + MyDate.getDate() : MyDate.getDate()) + '/' + ((d.getMonth()+1) < 10 ? '0' + (d.getMonth()+1) : (d.getMonth()+1)) + '/' + MyDate.getFullYear();
Таким образом,
(MyDate.getDate() < 10 ? '0' + MyDate.getDate() : MyDate.getDate())
будет похож на оператор if, где, если getDate () возвращает значение меньше 10, то возвращает 0 '+ Дата, иначе верните дату, если она больше 10 (поскольку нам не нужно добавлять начальный 0). То же самое за месяц.
Редактировать: Забыл, что getMonth начинается с 0, поэтому добавил +1, чтобы учесть это. Конечно, вы также можете просто сказать d.getMonth () < 9:, но я подумал, что использование +1 поможет облегчить понимание.
А как насчет установки невидимого поля ввода на position: absolute;
, которое должно исключить его из потока рендеринга.
Однако, установив его на display : none
теоретически должен делать то же самое ...
<style>
.hideme
{
display:none;
visibility:hidden;
}
.showme
{
display:inline;
visibility:visible;
}
</style>
<input type="text" name="mytext" class="hideme">
Вы можете установить class = "hideme", чтобы скрыть свой элемент управления, или class = "showme", чтобы отобразить его. Вы можете установить это переключение, используя JavaScript или кодирование на стороне сервера.
почему бы вам не использовать input type = "hidden"
?
Я не слишком знаком с CSS, но вы можете попробовать реализовать JQuery , который объединяет Javascript и CSS, чтобы вы могли делать подобные вещи с относительной легкостью.
Это поле скрывает, но все же заставляет его занимать место.
Этого не должно происходить; display: none не должно приводить к включению элемента в поток. Проверьте остальную часть вашего CSS (попробуйте использовать Firebug, чтобы выяснить, откуда исходит дополнительное «пространство», которое, вероятно, является просто заполнением или краем какого-либо окружающего элемента).
Использование свойства видимости занимает пространство отрисовки, даже если элемент не виден. Вместо использования видимости вы должны использовать свойство отображения.
Вы можете установить display на none , если вы хотите скрыть элемент и отображать его в блоке или inline , если вы хотите их показать.
Чтобы посмотреть на дисплей, проверьте this
Если установка вашего свойства display не решает вашу проблему, то я думаю, что текстовые поля могут быть абсолютно позиционированным. Это могло быть причиной того, что макет не был изменен.
Не могли бы вы опубликовать полный код?