I was just trying to make an alternate Ajax watermark from "insert date" (first mode) to "mm/dd/yyyy" (second mode).
After some trial and error, I succefully implemented a solution using JavaScript.
JavaScript:
<!-- language: lang-js -->
var original = "insert date";
var alternate = "mmddyyyy";
var countalerted = 0;
var txt = "";
var intird = 0;
if (intird == 0) {
intrId = setInterval(function () { alterWaterMarkForDateTBX() }, 1000);
}
function SetIntervalTBX() {
setInterval(function () { alterWaterMarkForDateTBX() }, 1000);
}
function alterWaterMarkForDateTBX() {
var d = new Date();
var t = d.toLocaleTimeString();
if (countalerted < 4) {
if (countalerted % 2 == 0) {
document.forms["form1"].elements["TBXinsertDate"].value = original;
}
else {
document.forms["form1"].elements["TBXinsertDate"].value = alternate;
}
countalerted++;
}
else {
window.status = intrId;
clearInterval(intrId);
// document.forms["form1"].elements["TBXinsertDate"].value = original;
}
}
var wasFocused = false;var wasBlur = false;
function Focus(objname, waterMarkText) {
wasFocused = true;
if (wasBlur == false) {
obj = document.getElementById(objname);
if (obj.value == waterMarkText) {
obj.value = "";
obj.className = "NormalTextBox";
if (obj.value == original || obj.value == alternate || obj.value == "" || obj.value == null) {
obj.style.color = "black";
}
}
}
}
//i added "__/__/____" for the value of the ajax MaskEdit
function Blur(objname, waterMarkText) {
wasBlur = true;
var alternateWM1 = "insert date";
var alternateWM2 = "mm/dd/yyyy";
obj = document.getElementById(objname);
if (obj.value == "" || obj.value == "__/__/____") {
obj.value = waterMarkText;
obj.className = "WaterMarkedTextBox";
}
else {
obj.className = "NormalTextBox";
}
if (obj.value == original || obj.value == alternate || obj.value == "" || obj.value == null || obj.value == "__/__/____") {
obj.style.color = "gray";
if (wasFocused == true) {
SetIntervalTBX();
}
}
}
ASPX / HTML
<!-- language: lang-html -->
<form id="form1" runat="server">
<asp:TextBox ID="TBXinsertDate" runat="server"
ToolTip="date Box" Width="79px"
onfocus="Focus(this.id, this.value)"
onblur="Blur(this.id, this.value)" >
</asp:TextBox>
</form>
Question:
How can I improve this script functionality?
Playing with it will give you a better clue on how it behaves!