HLRosenberger
asked on
Help with user control
I have a user control, shown below. However, due to the javascript, I can have only once instance on a page. I do not know how to make it reusable, due to the javascript. I need help. Thank You.
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="TaborCalendarPopup.ascx.vb" Inherits="Shared_TaborCalendarPopup" %>
<script language="JavaScript" type="text/javascript" src = '../scripts/CalendarPopup.js'> </script>
<script language="JavaScript" type="text/javascript"> var cal1 = new CalendarPopup('divCalendarPopup'); </script>
<div id="divCalendarPopup" style="position:absolute; visibility:hidden; background-color:white;"></div>
<asp:TextBox ID="txtDate" runat="server" clientidmode="static"
onkeydown="AllowDate(event);"
width="100px" MaxLength="10"></asp:TextBox>
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="../Images/DateSelector.gif"
onclientclick="cal1.select(document.forms[0].txtDate,'txtDate','MM/dd/yyyy'); return false;"/>
<script language="JavaScript" type="text/javascript">
function AllowDate(evt) {
var BACKSPACE = 8;
var FORWARD_SLASH = 191;
var DELETE = 46;
var ENDKEY = 35;
var DOWN_ARROW = 40;
var ZERO = 48;
var NINE = 57;
var NUMPAD0 = 96;
var NUMPAD9 = 105;
var keyCode = (evt.keyCode ? evt.keyCode : evt.which);
if (evt.shiftKey) {
evt.preventDefault();
}
else if (!((keyCode == BACKSPACE) ||
(keyCode == FORWARD_SLASH) ||
(keyCode == DELETE) ||
(keyCode >= ENDKEY && keyCode <= DOWN_ARROW) ||
(keyCode >= ZERO && keyCode <= NINE) ||
(keyCode >= NUMPAD0 && keyCode <= NUMPAD9))) {
evt.preventDefault();
}
}
</script>
ASKER
Sorry, no not the allow date. I'm not positive what the issue is, but I mean the fact that I'm using clientidmode="static" on the textbox. it has to be static because of the onclientclick of the image button; without static it does not work. However, if I put two of these controls on my page, neither works; It get an error in the CalendarPopup.js code. I was assuming because ya can't have two elements with an ID of txtDate.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thanks. that gave me an idea. I assigned a unique class runtime for each instance , then find the class in javascript using document.getElementsByClas sName(clas sName)
Open in new window
You can call function as you required.