2013-07-04 56 views
0

我的asp.net表单上有一个jQuery日期选择器。一切似乎工作正常,除了当我提交表单时,所选日期从文本框中丢失,并且.net代码给我一个错误,因为日期丢失。提交表单时会丢失日期

任何人都知道为什么会发生这种情况?

它开始工作,当我从文本框中删除readonly = true,但我需要它是只读的,以防止用户输入日期不正确。根据要求


一些代码/脚本:

HTML:

<form id="form1" runat="server"> 
    <asp:TextBox id="txtDate" Runat="server" readonly="true" /> 
    <asp:Button ID="btnSendRequest" text="Send Request" Runat="server" OnClick="btnSendRequest_Click" /> 
</form> 

的jQuery:

$("#txtDate").datepicker({ 
    dateFormat: "dd/mm/yy" 
}); 

.NET:

Sub btnSendRequest_Click(ByVal Sender As Object, ByVal E As EventArgs) 
    objSQLCommand = New SqlCommand("insert query here", objConnection) 

    'parameters here 

    Try 
     objSQLCommand.Connection.Open() 
     objSQLCommand.ExecuteNonQuery() 
     objSQLCommand.Connection.Close() 
    Catch Ex As Exception 
     ' some error here 
    End Try 
End Sub 
+0

请发表一些文件 – Edorka

+0

如何提交表格?发布相关代码! –

+0

有人显然在给我一个完美正当的问题上有一个糟糕的一天......;) – oshirowanen

回答

2

如果readonly标志被设置,.Net将不会得到该值。你需要删除它的工作。我不确定如果启用= false会给你同样的问题,但个人而言,我会阻止通过jQuery查看用户交互,因为无论如何你都在使用它。

或者你可以在代码隐藏加只读属性,这招的确奏效,并允许.NET仍然读值:

txtYourTextBox.Attributes.Add("readonly", "readonly"); 
0

的第一个问题是这样的

$("#<%=txtDate.ClientID%>").datepicker({ 
    dateFormat: "dd/mm/yy" 
}); 

添加客户ID to txtDate