title: Javascript TypeError: xxx is not a function
body: <p>Friends I came to a bit of problem. Everything was working fine before. But I can't rectify why it starts giving me such error.<br>
  Here is my JavaScript Code:</p>
  
  <pre><code>function newSupplier() {
      $('div#AddSupplier div.msg').html('').hide();
      $('div#AddSupplier div.loader').show();
      registerSupplier($('div#AddSupplier table.frm :input').serialize()).done(function (a) {
          if (a.Msg) {
              $('div#AddSupplier div.msg').html(a.Msg).removeClass('success').addClass('error').fadeIn();
          }
          else if (a.supid) {
              $('div#AddSupplier div.msg').html('Supplier &lt;span class="l2"&gt;' + a.supid + '&lt;/span&gt; Registered').removeClass('error').addClass('success').fadeIn();
              $('div#AddSupplier table.frm :input').val('');
          }
      }).always(function () {
          $('div#AddSupplier div.loader').hide();
      }).fail(function () {
          $('div#AddSupplier div.msg').html(errMsgNet).removeClass('success').addClass('error').fadeIn();
      });
  }
  </code></pre>
  
  <p>And here is the code of <code>registerSupplier()</code> function:</p>
  
  <pre><code>function registerSupplier(dataToPost) {
      return $.ajax({
          type: "POST",
          url: jsonpath + 'Json.ashx?method=RegisterSupplier',
          data: dataToPost
      });
  }
  </code></pre>
  
  <p>And here is the complete JS file: <a href="http://preview.myignou.com/Docs/jScript.js">http://preview.myignou.com/Docs/jScript.js</a></p>
  
  <p>Related HTML  </p>
  
  <pre><code>&lt;div id="ViewOrder"&gt;
     &lt;h2&gt;View Order Details&lt;/h2&gt;
     &lt;div class="tab-content"&gt;
        &lt;table class="frm"&gt;
           &lt;tr&gt;
              &lt;td&gt;&lt;label&gt;Enter Order Number&lt;/label&gt;&lt;/td&gt;
              &lt;td&gt;&lt;input type="text" name="orderNumber" onkeyup="$('#ViewOrder&gt;div&gt;div').fadeOut();" /&gt;&lt;input type="button" class="but1 m-side" value="OK" onclick="LoadMaterialOrder();"/&gt;&lt;/td&gt;
              &lt;td&gt;
                 &lt;div class="process"&gt;&amp;nbsp;&lt;/div&gt;
              &lt;/td&gt;
           &lt;/tr&gt;
        &lt;/table&gt;
        &lt;div&gt;
           &lt;div class="border shadow m-tb"&gt;
              &lt;h2 class="header"&gt;Order Details&lt;/h2&gt;
              &lt;div id="orderDetails" class="tab-content"&gt;
                 &lt;table class="frm"&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;label&gt;Supplier&lt;/label&gt;&lt;/td&gt;
                       &lt;td&gt;&lt;select id="newSupplier" name="supplier"&gt;&lt;/select&gt;&lt;/td&gt;
                       &lt;td class="r-align"&gt;&lt;input type="button" value="Load Suppliers" onclick="loadSuppliers('#newSupplier')" /&gt;&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;label&gt;Order Date&lt;/label&gt;&lt;/td&gt;
                       &lt;td&gt;&lt;input type="text" name="orderDate" /&gt;&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;label&gt;Delivery Date&lt;/label&gt;&lt;/td&gt;
                       &lt;td&gt;&lt;input type="text" name="deliveryDate" /&gt;&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;label&gt;Cancel Date&lt;/label&gt;&lt;/td&gt;
                       &lt;td&gt;&lt;input type="text" name="cancelDate" /&gt;&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;label&gt;Payment Due Mark&lt;/label&gt;&lt;/td&gt;
                       &lt;td&gt;&lt;input id="payDue2" type="checkbox" name="isPayDue" /&gt;&lt;label for="payDue2"&gt;Yes&lt;/label&gt;&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;label&gt;Remember Mark&lt;/label&gt;&lt;/td&gt;
                       &lt;td&gt;&lt;input id="remark2" type="checkbox" name="isMarked" /&gt;&lt;label for="remark2"&gt;Yes&lt;/label&gt;&lt;/td&gt;
                    &lt;/tr&gt;
                 &lt;/table&gt;
              &lt;/div&gt;
              &lt;table class="footer-buttons"&gt;
                 &lt;tr&gt;
                    &lt;td&gt;
                       &lt;div class="msg"&gt;&lt;/div&gt;
                       &lt;div class="loader" style="display:none;"&gt;&lt;img alt="loader" src="CSS/Images/loader.gif" /&gt;&lt;/div&gt;
                    &lt;/td&gt;
                    &lt;td&gt;&lt;input type="button" class="but1 sub-but" value="Save Changes" onclick=""/&gt;&lt;input type="reset" value="Reset" /&gt;&lt;/td&gt;
                 &lt;/tr&gt;
              &lt;/table&gt;
           &lt;/div&gt;
           &lt;br /&gt;
           &lt;div class="border shadow m-tb"&gt;
              &lt;h2 class="header"&gt;Payment Records&lt;/h2&gt;
              &lt;div id="paymentHistory" class="tab-content"&gt;
                 &lt;table class="tab pay-his"&gt;
                    &lt;tr class="th"&gt;
                       &lt;td&gt;&lt;/td&gt;
                       &lt;td&gt;Trans#&lt;/td&gt;
                       &lt;td&gt;Date&lt;/td&gt;
                       &lt;td&gt;Comment&lt;/td&gt;
                       &lt;td&gt;Type&lt;/td&gt;
                       &lt;td&gt;Credit&lt;/td&gt;
                       &lt;td&gt;Debit&lt;/td&gt;
                       &lt;td&gt;Balance&lt;/td&gt;
                       &lt;td&gt;Associated Agent&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;input type="radio" name="paySelect" /&gt;&lt;/td&gt;
                       &lt;td&gt;101-1&lt;/td&gt;
                       &lt;td&gt;12-12-12&lt;/td&gt;
                       &lt;td&gt;Abclk lask aa&lt;/td&gt;
                       &lt;td&gt;Credit&lt;/td&gt;
                       &lt;td&gt;500&lt;/td&gt;
                       &lt;td&gt;&lt;/td&gt;
                       &lt;td&gt;500.00&lt;/td&gt;
                       &lt;td&gt;Shashwat Tripathi&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;input type="radio" name="paySelect" /&gt;&lt;/td&gt;
                       &lt;td&gt;101-2&lt;/td&gt;
                       &lt;td&gt;12-12-12&lt;/td&gt;
                       &lt;td&gt;Shashwat Tripathi&lt;/td&gt;
                       &lt;td&gt;Debit&lt;/td&gt;
                       &lt;td&gt;&lt;/td&gt;
                       &lt;td&gt;500&lt;/td&gt;
                       &lt;td&gt;500.00&lt;/td&gt;
                       &lt;td&gt;Sudhir&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                       &lt;td&gt;&lt;input type="radio" name="paySelect" /&gt;&lt;/td&gt;
                       &lt;td&gt;101-3&lt;/td&gt;
                       &lt;td&gt;12-12-12&lt;/td&gt;
                       &lt;td&gt;Shashwat Tripathi&lt;/td&gt;
                       &lt;td&gt;Credit&lt;/td&gt;
                       &lt;td&gt;500&lt;/td&gt;
                       &lt;td&gt;&lt;/td&gt;
                       &lt;td&gt;500.00&lt;/td&gt;
                       &lt;td&gt;Sudhir Gaur&lt;/td&gt;
                    &lt;/tr&gt;
                 &lt;/table&gt;
                 &lt;br /&gt;
                 &lt;input type="button" class="but2" value="Edit" 
                    onclick="$('#ViewOrder #payEdit').slideDown(function () { $('html, body').animate({ scrollTop: $('#paymentHistory').offset().top-20 }, 500); });" /&gt;&lt;input type="button" class="but2 m-side" value="Delete" /&gt;
                 &lt;div id="payEdit" class="border m-tb shadow" style="display:none;"&gt;
                    &lt;h2 class="header"&gt;Edit Payment&lt;/h2&gt;
                    &lt;div class="tab-content"&gt;
                       &lt;table class="frm"&gt;
                          &lt;tr&gt;
                             &lt;td&gt;&lt;label&gt;Date&lt;/label&gt;&lt;/td&gt;
                             &lt;td&gt;&lt;input type="text" name="date" placeholder="dd-mm-yy"/&gt;&lt;/td&gt;
                          &lt;/tr&gt;
                          &lt;tr&gt;
                             &lt;td&gt;&lt;label&gt;Type&lt;/label&gt;&lt;/td&gt;
                             &lt;td&gt;
                                &lt;select name="type"&gt;
                                   &lt;option&gt;Credit&lt;/option&gt;
                                   &lt;option&gt;Debit&lt;/option&gt;
                                   &lt;option&gt;Expense&lt;/option&gt;
                                &lt;/select&gt;
                             &lt;/td&gt;
                          &lt;/tr&gt;
                          &lt;tr&gt;
                             &lt;td&gt;&lt;label&gt;Amount&lt;/label&gt;&lt;/td&gt;
                             &lt;td&gt;&lt;input type="text" name="amount" placeholder="धनराशी..." /&gt;&lt;/td&gt;
                          &lt;/tr&gt;
                          &lt;tr&gt;
                             &lt;td&gt;&lt;label&gt;Comment&lt;/label&gt;&lt;/td&gt;
                             &lt;td&gt;&lt;textarea name="comment" rows="4" cols="10"&gt;&lt;/textarea&gt;&lt;/td&gt;
                          &lt;/tr&gt;
                          &lt;tr&gt;
                             &lt;td&gt;&lt;/td&gt;
                             &lt;td&gt;&lt;input type="button" class="but1" value="Save Changes" /&gt;&lt;input type="button" class="but2 m-side" onclick="$('#payEdit').slideUp();" value="Cancel" /&gt;&lt;/td&gt;
                          &lt;/tr&gt;
                       &lt;/table&gt;
                    &lt;/div&gt;
                 &lt;/div&gt;
                 &lt;br /&gt;
                 &lt;h2&gt;Register New Payment&lt;/h2&gt;
                 &lt;hr /&gt;
                 &lt;div id="newMatOrderPayment"&gt;
                    &lt;table class="frm"&gt;
                       &lt;tr&gt;
                          &lt;td&gt;&lt;label&gt;Date&lt;/label&gt;&lt;/td&gt;
                          &lt;td&gt;&lt;input type="text" name="date" placeholder="dd-mm-yy" /&gt;&lt;/td&gt;
                       &lt;/tr&gt;
                       &lt;tr&gt;
                          &lt;td&gt;&lt;label&gt;Type&lt;/label&gt;&lt;/td&gt;
                          &lt;td&gt;
                             &lt;select name="type"&gt;
                                &lt;option&gt;Credit&lt;/option&gt;
                                &lt;option&gt;Debit&lt;/option&gt;
                                &lt;option&gt;Expense&lt;/option&gt;
                             &lt;/select&gt;
                          &lt;/td&gt;
                       &lt;/tr&gt;
                       &lt;tr&gt;
                          &lt;td&gt;&lt;label&gt;Amount&lt;/label&gt;&lt;/td&gt;
                          &lt;td&gt;&lt;input type="text" name="amount" placeholder="धनराशी..." /&gt;&lt;/td&gt;
                       &lt;/tr&gt;
                       &lt;tr&gt;
                          &lt;td&gt;&lt;label&gt;Comment&lt;/label&gt;&lt;/td&gt;
                          &lt;td&gt;&lt;textarea name="comment" rows="4" cols="10"&gt;&lt;/textarea&gt;&lt;/td&gt;
                       &lt;/tr&gt;
                    &lt;/table&gt;
                 &lt;/div&gt;
              &lt;/div&gt;
              &lt;table class="footer-buttons"&gt;
                 &lt;tr&gt;
                    &lt;td&gt;
                       &lt;div class="msg"&gt;&lt;/div&gt;
                       &lt;div class="loader" style="display:none;"&gt;&lt;img alt="loader" src="CSS/Images/loader.gif" /&gt;&lt;/div&gt;
                    &lt;/td&gt;
                    &lt;td&gt;&lt;input type="button" class="but1" value="Register Payment" onclick=""/&gt;&lt;input type="button" class="but2" onclick="$('#NewMatOrderPayment :text').val('');" value="Reset" /&gt;&lt;/td&gt;
                 &lt;/tr&gt;
              &lt;/table&gt;
           &lt;/div&gt;
        &lt;/div&gt;
     &lt;/div&gt;
  &lt;/div&gt;
  &lt;div id="AddSupplier"&gt;
     &lt;h2&gt;Register New Suppiler&lt;/h2&gt;
     &lt;div class="tab-content"&gt;
        &lt;table class="frm"&gt;
           &lt;tr&gt;
              &lt;td&gt;&lt;label&gt;Supplier ID&lt;/label&gt;&lt;/td&gt;
              &lt;td&gt;&lt;input type="text" name="supId" /&gt;&lt;/td&gt;
           &lt;/tr&gt;
           &lt;tr&gt;
              &lt;td&gt;&lt;label&gt;Contact Number&lt;/label&gt;&lt;/td&gt;
              &lt;td&gt;&lt;input type="text" name="contact" /&gt;&lt;/td&gt;
           &lt;/tr&gt;
           &lt;tr&gt;
              &lt;td&gt;&lt;label&gt;Address&lt;/label&gt;&lt;/td&gt;
              &lt;td&gt;&lt;textarea name="address" cols="10" rows="4"&gt;&lt;/textarea&gt;&lt;/td&gt;
           &lt;/tr&gt;
           &lt;tr&gt;
              &lt;td&gt;&lt;label&gt;Email address&lt;/label&gt;&lt;/td&gt;
              &lt;td&gt;&lt;input type="text" name="email" /&gt;&lt;/td&gt;
           &lt;/tr&gt;
           &lt;tr&gt;
              &lt;td&gt;&lt;label&gt;City&lt;/label&gt;&lt;/td&gt;
              &lt;td&gt;&lt;input type="text" name="city" /&gt;&lt;/td&gt;
           &lt;/tr&gt;
        &lt;/table&gt;
     &lt;/div&gt;
     &lt;table class="footer-buttons"&gt;
        &lt;tr&gt;
           &lt;td&gt;
              &lt;div class="msg"&gt;&lt;/div&gt;
              &lt;div class="loader" style="display:none;"&gt;&lt;img alt="loader" src="CSS/Images/loader.gif" /&gt;&lt;/div&gt;
           &lt;/td&gt;
           &lt;td&gt;&lt;input type="button" class="but1 sub-but" value="Register" onclick="newSupplier();"/&gt;&lt;input type="reset" value="रीसेट" /&gt;&lt;/td&gt;
        &lt;/tr&gt;
     &lt;/table&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>If I am calling this function directly from FF and Firebug console then It is getting called.<br>
  <strong>But on button click I am getting error <code>TypeError: newSupplier is not a function</code></strong></p>
  
  <p>Please ask me If u need additional code.</p>