Botão de envio de formulário HTML não chamando o método de sucesso?

Formulário HTML:

<form class="form-horizontal" id="contactfrm" onsubmit="contactus()">

<fieldset class="scheduler-border">

<!-- Form Name -->
<legend class="scheduler-border">Fill contact details</legend>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="fname">First Name</label>  
<div class="col-md-6"><input id="fname" name="firstName" type="text" placeholder="First Name" class="form-control input-md" title="Enter your First Name" required="required"></div>
</div>
<!-- Text input-->
<div class="form-group">
 <label class="col-md-4 control-label" for="lname">Last Name</label>  
<div class="col-md-6"><input id="lname" name="firstName" type="text" placeholder="Last Name" class="form-control input-md" title="Enter your Last Name" required="required"></div>
</div>

<!-- Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="button"></label>
<div class="col-md-4">
                   <button type="submit" value="Submit" class="btn btn-success" id="submit" />
</div>
</div>
</fieldset>
 </form>

código de script:

<script type="text/javascript"> 
   function contactus(){
    alert("hi");
    var test = JSON.stringify({
       "help": $('#help').val(),    
       "firstName": $('#fname').val(), 
       "lastName":$('#lname').val()
       });

    alert("test values are"+test);
       $.ajax({
           type: "POST",
           contentType: 'application/json',
           url: baseurl+"contact/add",
           data: test,
           dataType:"text",
           success:successmethod,
           error: function(data,status) 
           {
            alert("Error  "+status);
           }
       });

   }

   function successmethod(data){
    document.getElementById("contactfrm").reset();
    $('#showcontactmessage').show();
    alert("Contact Details Saved");
   }
   </script>

Etiqueta de ancoragem:

<a href="javascript:contactus();" class="btn btn-success">Contact us now</a>

No formulário acima, quando eu uso a tag anchor para enviar o formulário, tudo funciona bem, ou seja; a função é chamada e os valores são salvos no banco de dados e o método de sucesso é chamado e executado. mas o problema aqui é que, quando eu uso a tag button para enviar valores de formulário, os valores são salvos no banco de dados, mas o método de sucesso não é chamado. chamando método de erro .. Qualquer ajuda seria apreciada?

questionAnswers(1)

yourAnswerToTheQuestion