アプリ版:「スタンプのみでお礼する」機能のリリースについて

ポップアップカレンダーのテキストエリアへの入力方法で悩んでいます。
ts_picker.jsを使用してテキストエリアに日付を入力したいのですが追記ができず
上書きをしてしまいます。
改行して追記する方法を試してみたのですが追記ができません。
どなたか追記する方法をご存知ではないでしょうか?

ts_picker.jsライブラリのあったサイト
http://www.javascriptkit.com/script/script2/time …

A 回答 (1件)

テキストエリアへの入力ですよね。

サンプルだとテキストボックス<input type="text" ~だから当然、改行なんて出来ませんよね!

試してないけど

<form name="tstest">
<textarea name="timestamp" cols="10" rows="5"></textarea>
<a href="javascript:show_calendar('document.tstest.timestamp', document.tstest.timestamp.value);"><img src="cal.gif" width="16" height="16" border="0" alt="Click Here to Pick up the timestamp"></a>
</form>

とマークアップしたとして、「ts_picker.js」を改造ですね。
78行目あたりを(注意:全角スペースでインデントしてます。)
   if (dt_current_day.getMonth() == dt_datetime.getMonth())
    // print days of current month
    str_buffer += "<a href=\"javascript:window.opener."+str_target+
    ".value +='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();\">"+
    "<font color=\"black\" face=\"tahoma, verdana\" size=\"2\">";
   else
    // print days of other months
    str_buffer += "<a href=\"javascript:window.opener."+str_target+
    ".value +='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();\">"+
    "<font color=\"gray\" face=\"tahoma, verdana\" size=\"2\">";

に直してみる。

それから18行目
var dt_datetime = (str_datetime == null || str_datetime =="" ? new Date() : str2dt(str_datetime));
も直したほうがいいかも。このままだとテキストエリアに既に値が入っていた時に
正しい値を取れないかもしれない。最後の入力日付を取るように改造するか、
str2dt(str_datetime))をカットしてしまうとか...
    • good
    • 0
この回答へのお礼

できました!!!!
昨日ずっと+を最後のほうの部分に付け足したりしていてまったく改善できず困っていました。
見当違いもいいところでした。もっと勉強しないといけませんね。
もう一点yyr446様のご指摘いただきました18行目ですが確かにテキストエリアに既に値が入っていた場合にalertが出ていました。
var dt_datetime = new Date();にしたところalertもでなくなりました。
まだこのjs下の方のプログラムわからないところがあるのでそれについては引き続き調べていきたいと思います。
本当に本当にありがとうございました。

お礼日時:2010/12/28 13:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!