Javascript + user controls
ASP.NET
Thread Starter: mike55
Started:
Replies: 0

Ireland .NET Developer Alliance :: Forums » Technologies » ASP.NET » Javascript + user controls
« Previous Thread Next Thread »
   20 Dec 2005, 4:02
mike55 is not online. Last active: 29/12/2005 15:02:36 mike55

Top 10 Posts
Joined on 01-20-2005
Posts 42
Javascript + user controls
Hi all,

A standard web page has a opening and closing head, body, and form tag.  I have a some javascript, that calculates the number of characters that each user left, given that the user cannot enter more that 254 characters.

The problem that I am new experiencing is that the java script has to reference the id property of the Form tags.  Unfortunately no such tags, (from my previous attempts) exists in user controls.  I was using the id property to access other controls on the web page, using the following code:

                                    


'document.' + FormName + '.' + TextFieldName + '.value';

 

Is their any possible means of repeating this functionality using the web control.  I cannot set the textbox control properties "MaxLength" as the textbo is a multi-line text area.  Here is the entire javascript:
                                    


var MaximumCharacters = "254";
   var MaximumWords = "0";
   var FormName = "usrctrlHistory1";
   var TextFieldName = "txtComment";
   var CharactersTypedFieldName = "";
   var CharactersLeftFieldName = "CharsLeft";
   var WordsTypedFieldName = "";
   var WordsLeftFieldName = "";
   var WordsMonitor = 0;
   var MaxWords = parseInt(MaximumWords);
   var MaxChars = parseInt(MaximumCharacters);
   var textfield = 'document.' + FormName + '.' + TextFieldName + '.value';

   function WordLengthCheck(s,l) {
      WordsMonitor = 0;
      var f = false;
      var ts = new String();
      for(var vi = 0; vi < s.length; vi++) {
         vs = s.substr(vi,1);
         if((vs >= 'A' && vs <= 'Z') || (vs >= 'a' && vs <= 'z') || (vs >= '0' && vs <= '9')) {
            if(f == false) {
               f = true;
               WordsMonitor++;
               if((l > 0) && (WordsMonitor > l)) {
                  s = s.substring(0,ts.length);
                  vi = s.length; WordsMonitor--;
               }
            }    
         }
         else {
            f = false;
         }
         ts += vs;
      }
      return s;
   } // function WordLengthCheck()

   function CharLengthCheck(s,l) {
      if(s.length > l) {
         s = s.substring(0,l);
      }
      return s;
   } // function CharLengthCheck()

   function InputCharacterLengthCheck() {
      if(MaxChars <= 0) {
         return;
      }
      var currentstring = new String();
      eval('currentstring = ' + textfield);
      var currentlength = currentstring.length;
      eval('currentstring = CharLengthCheck(' + textfield + ',' + MaxChars + ')');
      if(CharactersLeftFieldName.length > 0) {
         var left = 0;
         eval('left = ' + MaxChars + ' - ' + textfield + '.length');
         if(left < 0) {
            left = 0;
         }
         eval('document.' + FormName + '.' + CharactersLeftFieldName + '.value = ' + left);
         if(currentstring.length < currentlength) {
            eval(textfield + ' = currentstring.substring(0)');
         }
      }
      
      if(CharactersTypedFieldName.length > 0) {
         eval('document.' + FormName + '.' + CharactersTypedFieldName + '.value = ' + textfield + '.length');
         if(currentstring.length < currentlength) {
            eval(textfield + ' = currentstring.substring(0)');
         }
      }
   } // function InputCharacterLengthCheck()

   function InputWordLengthCheck() {
      if(MaxWords <= 0) {
         return;
      }
      var currentstring = new String();
      eval('currentstring = ' + textfield);
      var currentlength = currentstring.length;
      eval('currentstring = WordLengthCheck(' + textfield + ',' + MaxWords + ')');
      if (WordsLeftFieldName.length > 0) {
         var left = MaxWords - WordsMonitor;
         if(left < 0) {
            left = 0;
         }
         eval('document.' + FormName + '.' + WordsLeftFieldName + '.value = ' + left);
         if(currentstring.length < currentlength) {
            eval(textfield + ' = currentstring.substring(0)');
         }
      }
      if (WordsTypedFieldName.length > 0) {
         eval('document.' + FormName + '.' + WordsTypedFieldName + '.value = ' + WordsMonitor);
         if(currentstring.length < currentlength) {
            eval(textfield + ' = currentstring.substring(0)');
         }
      }
   } // function InputWordLengthCheck()


   function InputLengthCheck() {
      InputCharacterLengthCheck();
      InputWordLengthCheck();
   } // function InputLengthCheck()


 
Mike55.

  
  Page 1 of 1 (1 items)
Ireland .NET Developer Alliance :: Forums » Technologies » ASP.NET » Javascript + user controls

Powered by Community Server :: Forums