【发布时间】:2011-08-24 08:14:39
【问题描述】:
我正在使用 AJAX 控件工具包控件“TextBoxWaterMarkExtender”。问题最初是在 Firefox 中,使用 javascript 设置文本,如下所示:
var getDateField = document.getElementById('soandso');
getDateField.value = 'someandsome';
将在提交/发布时被清除,因为扩展器控件认为没有人编辑它,所以它正在清除“水印”。
它在 Firefox 中运行良好,但 IE 在这一行显示“'null' is null or not an object”:
var dateIdentified = $find("Beh" + sender).get_Text();
我遗漏了什么明显的东西?
编辑:对不起,我认为 $find 是一个 jQuery 函数。
编辑:更多代码:
function dateToday(sender)
{
var dateIdentified = $find("Beh" + sender).get_Text();
if (dateIdentified.length == 0)
{
var todaydate = new Date();
var smonth = todaydate.getMonth() + 1;
var sday = todaydate.getDate();
var syear = todaydate.getFullYear();
$find("Beh" + sender).set_Text(smonth.toString() + '/' + sday.toString() + '/' + syear.toString());
}
}
水印:
<toolkit:TextBoxWatermarkExtender BehaviorID="BehSTART_DATE" ID="WaterMarkSTART_DATE" runat="server"
TargetControlID="dcSTART_DATE"
WaterMarkText="mm/dd/yyyy" WaterMarkCssClass="searchHint" />
【问题讨论】:
-
首先,您的初始示例是原生 Javascript。在第二个示例中,您没有正确调用 .find() 方法。你想做什么? api.jquery.com/find
-
$find 命令来自 .net javascript 库。它不是 jQuery。它用于查找 .net dom 扩展,例如
TextboxWaterMarkExtender或Accordion。 -
您能否在出现错误的行周围提供更多代码?另外,包括水印扩展器的标记
-
我看不出有什么明显的问题。您传递给
dateToday()的值是多少?是'START_DATE'吗? -
@Jeff,是的,这不是问题所在。请记住,它适用于 Firefox 而不是 IE。
标签: asp.net ajax asp.net-ajax ajaxcontroltoolkit