Top > diary > 2011-08-20

table_edit2.inc.php コメントの回答 Edit

 コメントでは書き辛いというか、長くなるとまたあれなのでここに書きます。
 コメントに書かれていたdatefield.inc.phpのプラグインを調べてみましたが、ブロックプラグインという事と、別途CSS+javascriptが必要な事、対応ブラウザに依存している等なのでわざわざ利用するメリットはほぼ無いと判断できます。
 ではどうするの?となりますが、もう少し簡単な入力支援javascriptを探す(例:JKL.Calendar)かHTML5の新機能を利用するかです。
 HTML5はIE系が弱いですが、本格的な入力や入力支援を受けたいのにIEを使うというのもナンセンスなので、Operaとかを使う方向で考えると簡単に実装できるという事で、HTML5を利用する方法を説明しておきます。

  • プラグインtable_edit2.inc.phpの編集
    • 611行目あたりに次のfunctionを追加
      	function date($name, $value = '')
      	{
      		$date = '<input type="date" name="' . $name
      			. '" value="' . $value . '" />';
      		return $date;
      	}
    • 1634行目あたりにswitch文がありますのでそこにcaseを追加
      			case 'date':
      				$body .= $this->date( 'cell' . $cell_count, htmlspecialchars($cell));
      				break;

としておけばform=dateのオプションで利用できます。
この方法が上手く行くなら応用でHTML5の他の機能も追加できるので、試してみると面白いかもしれません。


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes