www.webdeveloper.com
Results 1 to 2 of 2

Thread: Deletion of the form after checking the data validation script

  1. #1
    Join Date
    Aug 2012
    Posts
    1

    Deletion of the form after checking the data validation script

    Hi,
    Please I need help with following problem. I have one script for verification filled form and another for its deletion after submit. If I filled wrong the form, the verification script noticed me, but the second script clear filled form. I want to clear the form after itīs correct completion.

    Thank you for some advices and sorry for my bad english

    HTML code
    HTML Code:
    <form method="post" action="page.php" name="submitto" onSubmit="delete(id)">
    <table>
    <tr><td>First name </td><td><input type="text" name="first_name" class="first_name" value=""></td><td id="first_name" style="color: red;"></td></tr>
    <tr><td>Surname: </td><td><input type="text" name="Surname" class="Surname" value=""></td><td id="Surname" style="color: red;"></td></tr>
    <tr><td>E-mail: </td><td><input type="text" name="mail" class="email" value=""></td><td id="email" style="color: red;"></td></tr>
    <tr><td>Telefone: </td><td><input type="text" name="telefone" class="telefone" value=""></td><td id="telefone" style="color: red;"></td></tr>
    <tr><td colspan="3"><input type="submit" name="send" value="Send" ></td></tr>
    </table>
    </form>
    Javascript for verification filled form
    Code:
    var FormValidation =
    {
      init: function()
      {
        var forms = document.getElementsByTagName("form");
        
        for (var i = 0; i < forms.length; i++)
        {
          Core.addEventListener(forms[i], "submit", FormValidation.submitListener);
        }
      },
    
      rules:
      {
        first_name: /^[a-zA-Z]+$/,
        surname: /^[a-zA-Z]+$/,
        email: /^[_a-zA-Z0-9.-]+@[_a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/,
        telefone: /^\+?[0-9]{9,12}$/
      },
    
      errors:
      {
        first_name: "Fill correct first name for example James",
        surname: "Fill correct surnema for example Bond",
        email: "Fill correct e-mail address for example james.bond@email.com",
        telefone: "Fill correct telephone number for example 123456789 nebo +420123456789."
      },
      
      submitListener: function(event)
      {
        var fields = this.elements;
        
        for (var i = 0; i < fields.length; i++)
        {
          var className = fields[i].className;
          var classRegExp = /(^| )(\S+)( |$)/g;
          var classResult;
          
          while (classResult = classRegExp.exec(className))
          {
            var oneClass = classResult[2];
            var rule = FormValidation.rules[oneClass];
            if (typeof rule != "undefined")
            {
              if (!rule.test(fields[i].value))
              {
                fields[i].focus();
                document.getElementById(oneClass).innerHTML=(FormValidation.errors[oneClass]);
                Core.preventDefault(event);
                
              } 
            }
          }
        }
      }
    };
    Core.start(FormValidation);
    Javascript file Core.js for correct running verification script
    Code:
    var Core = {};
    
    if (document.addEventListener)
    {
      Core.addEventListener = function(target, type, listener)
      {
        target.addEventListener(type, listener, false);
      };
    
      Core.removeEventListener = function(target, type, listener)
      {
        target.removeEventListener(type, listener, false);
      };
    
      Core.preventDefault = function(event)
      {
        event.preventDefault();
      };
    
      Core.stopPropagation = function(event)
      {
        event.stopPropagation();
      };
    }
    else if (document.attachEvent)
    {
      Core.addEventListener = function(target, type, listener)
      {
    
        if (Core._findListener(target, type, listener) != -1) return;
    
        var listener2 = function()
        {
          var event = window.event;
    
          if (Function.prototype.call)
          {
            listener.call(target, event);
          }
          else
          {
            target._currentListener = listener;
            target._currentListener(event)
            target._currentListener = null;
          }
        };
    
        target.attachEvent("on" + type, listener2);
    
    
        var listenerRecord =
        {
          target: target,
          type: type,
          listener: listener,
          listener2: listener2
        };
    
        var targetDocument = target.document || target;
        var targetWindow = targetDocument.parentWindow;
    
        var listenerId = "l" + Core._listenerCounter++;
    
        if (!targetWindow._allListeners) targetWindow._allListeners = {};
        targetWindow._allListeners[listenerId] = listenerRecord;
    
        if (!target._listeners) target._listeners = [];
        target._listeners[target._listeners.length] = listenerId;
    
        if (!targetWindow._unloadListenerAdded)
        {
          targetWindow._unloadListenerAdded = true;
          targetWindow.attachEvent("onunload", Core._removeAllListeners);
        }
      };
    
      Core.removeEventListener = function(target, type, listener)
      {
        var listenerIndex = Core._findListener(target, type, listener);
        if (listenerIndex == -1) return;
    
        var targetDocument = target.document || target;
        var targetWindow = targetDocument.parentWindow;
    
        var listenerId = target._listeners[listenerIndex];
        var listenerRecord = targetWindow._allListeners[listenerId];
    
        target.detachEvent("on" + type, listenerRecord.listener2);
        target._listeners.splice(listenerIndex, 1);
    
        delete targetWindow._allListeners[listenerId];
      };
    
      Core.preventDefault = function(event)
      {
        event.returnValue = false;
      };
    
      Core.stopPropagation = function(event)
      {
        event.cancelBubble = true;
      };
    
      Core._findListener = function(target, type, listener)
      {
        var listeners = target._listeners;
        if (!listeners) return -1;
        
        var targetDocument = target.document || target;
        var targetWindow = targetDocument.parentWindow;
    
        for (var i = listeners.length - 1; i >= 0; i--)
        {
          var listenerId = listeners[i];
    
          var listenerRecord = targetWindow._allListeners[listenerId];
    
          if (listenerRecord.type == type && listenerRecord.listener == listener)
          {
            return i;
          }
        }
        return -1;
      };
    
      Core._removeAllListeners = function()
      {
        var targetWindow = this;
    
        for (id in targetWindow._allListeners)
        {
          var listenerRecord = targetWindow._allListeners[id];
          listenerRecord.target.detachEvent(
              "on" + listenerRecord.type, listenerRecord.listener2);
          delete targetWindow._allListeners[id];
        }
      };
    
      Core._listenerCounter = 0;
    }
    Core.addClass = function(target, theClass)
    {
      if (!Core.hasClass(target, theClass))
      {
        if (target.className == "")
        {
          target.className = theClass;
        }
        else
        {
          target.className += " " + theClass;
        }
      }
    };
    
    Core.getElementsByClass = function(theClass)
    {
      var elementArray = [];
    
      if (document.all)
      {
        elementArray = document.all;
      }
      else
      {
        elementArray = document.getElementsByTagName("*");
      }
    
      var matchedArray = [];
      var pattern = new RegExp("(^| )" + theClass + "( |$)");
    
      for (var i = 0; i < elementArray.length; i++)
      {
        if (pattern.test(elementArray[i].className))
        {
          matchedArray[matchedArray.length] = elementArray[i];
        }
      }
      return matchedArray;
    };
    
    Core.hasClass = function(target, theClass)
    {
      var pattern = new RegExp("(^| )" + theClass + "( |$)");
    
      if (pattern.test(target.className))
      {
        return true;
      }
    
      return false;
    };
    
    Core.removeClass = function(target, theClass)
    {
      var pattern = new RegExp("(^| )" + theClass + "( |$)");
    
      target.className = target.className.replace(pattern, "$1");
      target.className = target.className.replace(/ $/, "");
    };
    
    Core.getComputedStyle = function(element, styleProperty)
    {
      var computedStyle = null;
    
      if (typeof element.currentStyle != "undefined")
      {
        computedStyle = element.currentStyle;
      }
      else
      {
        computedStyle = document.defaultView.getComputedStyle(element, null);
      }
    
      return computedStyle[styleProperty];
    };
    
    Core.start = function(runnable)
    {
      Core.addEventListener(window, "load", runnable.init);
    };
    Javascript for delete filled form
    Code:
    function delete(id) {
        df=document.forms[0];
        clearForm(df);
        document.MyForm.onsubmit=function() {
        return clearForm(df);
          }
        }
        function clearForm(df){
        setTimeout('df.reset()',100);
        return true;
        }

  2. #2
    Join Date
    Feb 2003
    Location
    Michigan, USA
    Posts
    5,773

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles