我试图使它成为这样,当我单击输入时,会出现一个jquery datetimepicker,并允许用户输入正确的日期和时间,然后将其放入输入中。我的方法有效,但现在我更改了一些前端代码并收到错误:
未捕获的引用错误: 未定义saveCompletionTime_Click at HTMLInputElement.onclick
我的HTML代码如下:
<tr>
<td>Propsed End Date/Time: </td>
<td><input type="text" runat="server" id="eventFormProposedEndDatePO" OnClick="saveCompletionTime_Click"/></td>
<td>
<asp:RequiredFieldValidator runat="server" ControlToValidate="eventFormProposedEndDatePO"
ErrorMessage="*Proposed end date/time is required" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
我的Javascript如下:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.3/jquery-ui-timepicker-addon.min.js" type="text/javascript"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="Stylesheet" type="text/css" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.3/jquery-ui-timepicker-addon.min.css" rel="stylesheet" type="text/css" />
<link href="" rel="stylesheet" />
<script type="text/javascript">
$(function () {
$("[id$=eventFormCompletionTime]").datetimepicker({
format: 'DD MMM YYYY hh:mm A',
ampm: true
});
});
</script>
我的代码隐藏文件如下:
protected void saveCompletionTime_Click(object sender, EventArgs e)
{
if (typeHolder.Value == "SD")
{
DateTime dob = DateTime.Parse(Request.Form[eventFormStartTimeSD.UniqueID]);
}
else if (typeHolder.Value == "PO")
{
DateTime dob = DateTime.Parse(Request.Form[eventFormProposedStartDatePO.UniqueID]);
}
}
saveCompletionTime_Click() 永远不会在代码隐藏文件中调用,但正在注册对输入的单击。
您当前的"OnClick"事件只能调用客户端代码。相反,您应该尝试使用 ASP 控件。
例如:
<asp:Button ID="btnSaveTime" runat="server" OnClick="saveCompletionTime_Click" Text="Save Time" />
我只需要将javascript调用从:
$("[id$=eventFormCompletionTime]")
自
$("[id$=eventFormProposedEndDatePO]")
必须有一些东西使客户端调用工作,即使它很奇怪,因为输入不是 asp 元素,因此它不能直接进行服务器调用。