2012-12-04 65 views
0

我有這樣的考慮:如何獲取由datepicker發佈的日期?

$('#datepicker').datepicker({ 
    onSelect: function (date, inst){ 
     $(this).parent('form').submit(); 
    } 
}); 

<form method="post" name="datepickerForm"> 
    <div id="datepicker"></div> 
</form> 
Date Posted: @ViewBag.PostedDate 
在控制器

,我有:

public ActionResult Index(int? datepickerForm) { 
    if(datepickerForm.HasValue) // this is always null 
     ViewBag.PostedDate = datepickerForm.Value; 
} 
+2

你爲什麼要使用'div'的日期選擇?它不應該是一個「輸入」? '' –

+0

@RocketHazmat,頁面包含一個日曆,當用戶點擊它時,它會顯示該日期的數據。這就是爲什麼我不認爲'輸入文本框'是必要的,因爲這會引入額外的點擊。 –

回答

0

我結束了使用div顯示和input textbox發佈日期回來。

$('#datepicker').datepicker({ 
    onSelect: function (date, inst){ 
     $('#datepickerTxt').val(date); 
     $(this).parent('form').submit(); 
    } 
}); 

<form method="post" name="datepickerForm"> 
    <div id="datepicker"></div> 
    <input type="text" id="datepickerTxt" name="datepickerTxt" /> 
</form> 
Date Posted: @ViewBag.PostedDate 

在控制器中,我有:

public ActionResult Index(string datepickerTxt) { 
    if(!string.IsNullOrEmpty(datepickerTxt) 
     ViewBag.PostedDate = datepickerTxt; 
} 
0

更改divinput

<input id="datepicker" name="date" /> 
0

有下面的代碼鑑於

$('#datepicker').datepicker({ 
onSelect: function (date, inst){ 
    $(this).parent('form').submit(); 
} 
}); 

<form method="post" name="datepickerForm"> 
<input id="datepicker"/> 
    </form> 

在控制器下面的代碼

public ActionResult Index(int? datepicker) { 
//datepicker id of input element 
    ViewBag.PostedDate = datepicker; 
} 

感謝

0

使用

<input id="datepicker" name="date" /> 

代替

<div id="datepicker"></div> 

閱讀this,文章展示了使用日期選擇器和發送/發佈數據傳回給控制器的正確方法。

相關問題