помогите с js

Discussion in 'PHP' started by Leonardo, 28 Jun 2008.

  1. Leonardo

    Leonardo Elder - Старейшина

    Joined:
    3 Feb 2007
    Messages:
    35
    Likes Received:
    4
    Reputations:
    1
    собственно надо реализовать добавление новости на будущее. но тут я сам. при добавлении есть выбор месяца, дня и года. особой сложности из написания 3-х селектов я сначала не увидел. но потом вспомнил что есть 30 дней в месяце и 31, также 28 в феврале. помогите написать чтоб при выборе месяца было правильное кол дней
     
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    есть готовый класс

    DHTML Date/Time Selector
    (c) dynarch.com 2002-2005 / Author: Mihai Bazon
    For latest version visit: http://www.dynarch.com/projects/calendar/
    Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details.

    Date selection:
    - Use the «, » buttons to select year
    - Use the ‹, › buttons to select month
    - Hold mouse button on any of the above buttons for faster selection.

    Time selection:
    - Click on any of the time parts to increase it
    - or Shift-click to decrease it
    - or click and drag for faster selection.
     
  3. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    а не проще в добавлении новости сделать php-функцию date а в редактировании text-поле?
     
    1 person likes this.
  4. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Узнать количество дней в месяце можно, например, вот так:
    Code:
    function monthLength(year, month)
    {
      var date = new Date();
      date.setFullYear(year, month, 32);
      return 32 - date.getDate();
    };
    В приведённом выше календаре используется вот такая функция:
    Code:
    Date.prototype.getMonthDays = function(month) {
    	var year = this.getFullYear();
    	if (typeof month == "undefined") {
    		month = this.getMonth();
    	}
    	if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
    		return 29;
    	} else {
    		return Date._MD[month];
    	}
    };
    Уже было что-то подобное, там и пример есть: http://forum.antichat.ru/showthread.php?t=63071.