正在尝试加载具有HTML5输入类型=Date元素的ASP文本框
Trying to load an ASP textbox with HTML5 input type=Date element
我正在尝试使用新的HTML5输入type=date来加载和带有日期值的asp:textbox。我要么一无所获(空标签),要么得到(System.Web.UI.WebControls.TextBox)。我只是想使用HTML5日期输入类型。不知道问题是在我的javascript中还是在哪里。用户将:1.通过html5日期选择器选择他们的出生日期。2.用户点击提交按钮3.此时日期选择器已失去焦点4.javascript函数"onblur"应该启动5.asp:textbox"tbDOB"应该加载日期6.该日期会被发送回服务器
7.此时,出于验证目的,日期应更新lblDateReturn标签。
谢谢Suge
<div id="dpDOB">
<asp:TextBox ID="tbDOB" runat="server"></asp:TextBox><br />
<input type="date" id="dpDatePicker" onblur="blurFunction()" required /><br />
<asp:Button ID="btnDOB" runat="server" Text="Submit" OnClick="btnDOB_Click()" /><br/>
<asp:Label ID="lblDateReturn" runat="server" Text=""></asp:Label>
</div>
function blurFunction()
{
var dateofBirth = document.getElementById("tbDOB"); //asp.net textbox
var datepicker = document.getElementById("dbDatePicker");
dateofBirth.value = datepicker.value; // Trying to load the asp.net textbox with the date
alert("Date Picker lost focus");
}
protected void btnDOB_Click(object sender, EventArgs e)
{
//lblDateReturn.Text = tbDOB.Text; blank lable
lblDateReturn.Text = tbDOB.ToString(); //I get back: System.Web.UI.WebControls.TextBox
}
将blurFunction()
中的第一行更改为以下行:
var dateofBirth = document.getElementById("<%=tbDOB.ClientID%>");
修复/解决方案,
- 我忽略了发布我正在使用一个母版页(我的坏),该母版页将ASP文本框的id从"tbDOB"更改为"ContentPlaceHolder1_tbDOB"
HTML5类型日期:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div id="dpDOB">
<asp:TextBox ID="tbDOB" runat="server"></asp:TextBox><br />
<input type="date" id="dpDatePicker" onblur="blurFunction()" required /><br />
<asp:Button ID="btnDOB" runat="server" Text="Submit" OnClick="btnDOB_Click"/> <br />
<asp:Label ID="lblDateReturn" runat="server" Text=""></asp:Label>
</div>
</asp:Content>
Java脚本:
function blurFunction()
{
var datepicker = document.getElementById("dpDatePicker");
(document.getElementById("ContentPlaceHolder1_tbDOB")).value = datepicker.value;
}
C#:
protected void btnDOB_Click(object sender, EventArgs e)
{
lblDateReturn.Text = tbDOB.Text;
}
CSS3:
#ContentPlaceHolder1_tbDOB
{
display: none; //Hiding the textbox to make it appear the HTML5 type (date) picker is the only control
}
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 元素类型“date”在由getElementsByTagName()访问时将其显示为“文本”
- $.ajax 解析器错误时处理包含新 Date() 元素的 JSON
- 为什么我的数组中的所有Date元素都是相同的日期
- aurelia自定义元素date-nifty日期选择器在更新时更新值
- 正在尝试加载具有HTML5输入类型=Date元素的ASP文本框
- 使用Javascript用PHP变量设置HTML Date元素的值
- 从jquery的date()函数中提取日期的元素