2014-05-22 30 views
0

我想在我的js validate()方法在提交searchId按鈕時返回true時調用我的ajax代碼。但是ajax代碼沒有執行。如果我在那裏發出警報,它工作正常。 我在哪裏做錯了?請幫忙!!jquery ajax在javascript驗證函數後調用

這裏是我的javascript代碼

<script language="JavaScript"> 
    function validate() 
    { 
    var msg = ""; 
    //all my field validations are here 
    msg += "o Name is not a valid name.\n"; 

    if (msg > "") { 
      alert(msg); 
     return false; 
     } 
    else { 
     return true; 
     } 
    } 

$(document).ready(function(){    
      $("#simple-post").click(function() 
      {     
      $("#ajaxform").submit(function(e) 
       { 

        // getting the values of both firstname and lastname   
        var beginDate = $('input[name="txtBeginDate"]').val();   
        var endDate = $('input[name="txtEndDate"]').val(); 
        var mdnVal = $('input[name="txtMsid"]').val();      
        // posting the values   
        var dataString = 'beginDate=' + beginDate + '&endDate=' + endDate+ '&mdnVal=' + mdnVal; 
        alert(dataString); 
        var formURL = $(this).attr("action"); 

        //alert(formURL);      
        $.ajax(
        { 
         url : formURL,       
         dataType:'json', 
         async: false, 
         data: dataString, 
         beforeSubmit: validate, 
         success:function(data){ 
          queryObject = eval('(' + JSON.stringify(data) + ')'); 
          queryObjectLen = queryObject.empdetails.length; 
          drawChart(); 
         }, 
         error : function(xhr, type) { 
          alert('server error occoured') 
         }   
        }); 
        e.preventDefault(); //STOP default action 
        e.unbind(); //unbind. to stop multiple form submit. 
       });     
       $("#ajaxform").submit(); //Submit the FORM 
      }); 

     }); 

這裏是我的HTML代碼

<form name="ajaxform" id="ajaxform" action="getData.jsp" onSubmit="return validate();" method="POST"> 
    <Table> 

     <input type="submit" name="action" value="Search" id="searchId"> 
     <input type="text" name="name" id="id" size="10" maxlength="10"> 
        //other input fields  

     </table> 
    </form> 
    <button class="btn btn-info" id="simple-post">Run Code</button> 
    <div id="chart_div" style="width: 900px; height: 500px;"></div> 

UPDATE

我已經更新了我的代碼,我可以提交我的形式,但驗證不工作。我使用beforeSubmit:驗證,但我沒有看到我的驗證消息。請幫忙。

+2

'味精>「 「'你覺得在那裏發生了什麼? –

+0

在你的validate()函數中,msg被設置在哪裏?它的值應該是什麼? – mts7

+0

@RUJordan,我編輯了我的HTML並驗證了()。 – user2436956

回答