title: Access plugin instance using the id of the DOM Element
body: <p>The concept is to have 2 plugins one for form and another for button. I want to bind all forms in my page to JQuery plugin that will handle some jobs let say that this is my plugin</p>
  
  <pre><code>$.fn.PluginForm = function (Options) {
  var o = jQuery.extend({
      SomeOption: 1
  }, Options);
  
  var Validate = function(){
      if(o.SomeOption == 1)  return true;
      else return false;
  };
  
  $(this).on('submit', function(e) {
      e.preventDefault();
      //some code here
  });
  };
  </code></pre>
  
  <p>The form actually doesn’t have button in my case the post is triggered from another control. This is because of the structure of the application I want to build. The button plugin is: </p>
  
  <pre><code>$.fn.PluginButton = function (Options) {
  var o = jQuery.extend({
      Actions: [],
      FormID: ''
  }, Options);
  
  $(this).click(function(){
      var Form = $('#' + o.FormID);
      if(Form.length &gt; 0 &amp;&amp; Form.PluginForm.Validate()) {
          Form.submit();
          //do something
      }
      else{ 
          //do something else
      }
  });
  };
  </code></pre>
  
  <p>What I want to succeed is to invoke the validation function on the Form element but I don’t want to invoke another instance of the PluginForm. Something like <code>$('#' + o.FormID).PluginForm.Validate()</code></p>
  
  <p>All this must be as plugin because there will be a lot of forms in the same page and a lot of buttons. Also there will be a lot of buttons that can invoke submit on the same form but with different options. That’s why I want to invoke one time the instance of the form. Also the controls that will be validated will be passed as parameter in the options of the PluginForm. Something like this <code>$('#' + o.FormID).PluginForm({ Action: ‘Validate’ })</code> is not an option because will lose the initial parameters of the PluginForm.</p>