更新:まだこれを読んでいる人には、私はこれを行う方法が全く異なります。 AjaxToolkitのCalendar Extenderを使用すると、カレンダーを動的に簡単に追加でき、Javascriptを使用してさまざまな日付入力のフォーマットを変更して、カレンダーエクステンダーがそれを読むことができるようになりました。あなたが私に似たようなことをしようとしているなら、AjaxToolkitの道を行くことを強くお勧めします。動的に作成されたCalendarコントロールasp/javascript/VB.netから選択した日付にアクセスする
私は、カレンダーコントロール(asp:カレンダー)、ボタン、およびコメントクラスのドロップダウンリストを動的に作成しました。コメントクラスには常にテキストボックスがありますが、テキストボックスのID /属性ラベルがDOBまたは誕生日などの場合、これらの他のコントロールは動的に作成されます。
これまでのところ、カレンダー、ドロップダウンリスト、およびいずれかのボタンは機能しますが、最後のボタンに問題があります。現在、私は動的に、そのカレンダー、ドロップダウンリスト、および驚くほど効果的なボタンを含むdivを表示および非表示にするためにボタンの1つに使用されるスクリプトを追加します。私は、カレンダーから選択された日付を取ってテキストボックスに入れるために、ボタンを押したときに別のスクリプトトリガーを追加しようとしています。
今、私はカレンダーにアクセスしようとしています。私はこれに似た別の質問では、この機能を見つけ
function use_calendarDate(){
var calendarDate = '<%=question128_Cal1.SelectedDate%>';
alert(calendarDate);
}
、代わりに日付を取得する、それだけに文字列として<% = question128_Cal1.SelectedDate%>を置く:私はこのようなコードを使用しています警告ボックス。
このLINKは、私がやろうとしていることを正確に示していますが、私は別の結果を得ます。誰でも私がここで間違っていることを助けることができますか?興味深いことに
、私は
var calendarDate = question128_Cal1.SelectedDate;
OR
var calendarDate = question128_Cal1.value;
私の警告ボックスを使用して、私は未定義伝えます。
ありがとうございます。
それが必要とされる場合には、私のカレンダーコントロールは、次のように作成されます。Page_Init
で
Dim calendar1 As New Calendar
Call BuildCalendar(calendar1)
calendarDiv.Controls.Add(calendar1)
ここで上記の参照関数です。
Private Sub BuildCalendar(ByRef calendar1 As Calendar)
calendar1.ID = "Cal1"
calendar1.SelectedDate = DateTime.Today
calendar1.Attributes.Add("runat", "server")
calendar1.Attributes.Add("OnClientDateChanged", "onDateChange")
calendar1.Attributes.Add("borderwidth", "2px")
calendar1.Attributes.Add("BackColor", "White")
calendar1.Attributes.Add("width", "200px")
calendar1.Attributes.Add("ForeColor", "Black")
calendar1.Attributes.Add("Height", "180px")
calendar1.Attributes.Add("Font-Size", "8pt")
calendar1.Attributes.Add("Font-Names", "Verdana")
calendar1.Attributes.Add("BorderColor", "#999999")
calendar1.Attributes.Add("BorderStyle", "Outset")
calendar1.Attributes.Add("DayNameFormat", "FirstLetter")
calendar1.Attributes.Add("CellPadding", "4")
calendar1.Attributes.Add("ShowNextPrevMonth", "True")
calendar1.Attributes.Add("SelectionMode", "Day")
calendar1.Attributes.Add("ShowTitle", "false")
calendar1.Attributes.Add("OnSelectionChanged", "Calendar_SelectionChanged")
calendar1.TodayDayStyle.ForeColor = Drawing.Color.Black
calendar1.Attributes.Add("todaydaystyle-backcolor", "#cccccc")
calendar1.Attributes.Add("selectorstyle-backcolor", "#cccccc")
calendar1.NextPrevStyle.VerticalAlign = VerticalAlign.Bottom
calendar1.Attributes.Add("dayheaderstyle-font-size", "7pt")
calendar1.Attributes.Add("dayheaderstyle-font-bold", "true")
calendar1.Attributes.Add("dayheaderstyle-backcolor", "#cccccc")
calendar1.Attributes.Add("selecteddaystyle-font-bold", "true")
calendar1.Attributes.Add("selecteddaystyle-forecolor", "White")
calendar1.Attributes.Add("selecteddaystyle-backcolor", "#666666")
calendar1.Attributes.Add("titlestyle-font-bold", "true")
calendar1.TitleStyle.BorderColor = Drawing.Color.Black
calendar1.Attributes.Add("titlestyle-backcolor", "#999999")
calendar1.Attributes.Add("weekenddaystyle-backcolor", "#ffffcc")
calendar1.OtherMonthDayStyle.BackColor = Drawing.Color.Gray
End Sub
コメントクラスは、プログラムの別の場所で使用されます。自分のページに追加されたすべてのコメントコントロールのマークアップにはカレンダーは必要ありません。このソフトウェアには、消費者向けのオンライン調査とテストの作成が含まれています。彼らがテストにコメントコントロールのトンを入れることに決めたら、必要がないたびにカレンダーを隠したり無効にしたりしたくない。 – SCSGuy
以前私はquestion128_divCal1.style.displayを使用して、カレンダー、ドロップダウンリストなどを含むdivをボタンクリックで非表示または表示しました。だから私はそれがなぜquestion128_Cal1も認識しないのか分からない。 – SCSGuy
まだこれを読んでいると思われる人には、これとはまったく異なる方法を使用しました。 AjaxToolkitのCalendar Extenderを使用すると、カレンダーを動的に簡単に追加でき、Javascriptを使用してさまざまな日付入力のフォーマットを変更して、カレンダーエクステンダーがそれを読むことができるようになりました。あなたが私に似たようなことをしようとしているなら、AjaxToolkitの道を行くことを強くお勧めします。 – SCSGuy