2013-10-07 185 views
1

我在兩種不同的場景 - 創建和編輯中使用單個窗體。jQuery驗證插件:相同的形式,不同的驗證submitHandler

我做這樣的事情

<?php 
if($status == 'new') 
    echo '<button id="btnSubmit" type="submit" class="btn">Submit!</button>'; 
else 
    echo '<button id="btnEdit" type="submit" class="btn">Edit!</button>'; 
?> 

我想實現我的javascript到底是根據被按下的按鈕來驗證表單,並調用正確的Web服務。我正在使用jQuery驗證插件發現here

的Javascript

$('#myForm').validate({ 
    submitHandler: function(data) { 
     $.ajax({ 
     url: "service1.php" 
     ...... other AJAX stuff .......... 
     }); 
    } 
} 

$('#btnSubmit').click(function() { 
    // call service1.php 
}); 

$('#btnEdit').click(function() { 
    // call service2.php 
}); 

回答

0

根據Marikkani的建議,我已經實施了下面的工作。希望它可以幫助有類似問題的人使用Javascript和PHP。

在我的表單文件中,我使用了一個隱藏的div來存儲type (new or edit)<input type="hidden" id="type" value="<?php echo $type; ?>" />

此後,在我的javascript文件中,我檢索這個值並在調用相應的ajax之前檢查。

$('#resForm').validate({ 
    submitHandler: function(form) { 
     var type = $('#type').val(); 

     if(type == 'new') { 
      $.ajax({ 
       url: "service1.php" 
       .... other AJAX stuff 
      }); 
     } else { // type is edit 
      $.ajax({ 
       url: "service2.php" 
       .... other AJAX stuff 
      }); 
     } 
    } 
}); 
0

的方法驗證可以是一個單一的功能,你可以設置一個標誌(例如,你會在編輯頁面獲得一個ID)來識別編輯頁面或添加頁面。這樣您就可以在提交處理程序中檢查標誌並將表單提交到需要提交的地方。我不熟悉PHP,我希望這可以幫助你。

+0

嗨,謝謝你的回答。我試圖找到你從jQuery驗證插件網站提到的國旗,但我似乎無法找到它。你能把我指向那部分文檔嗎? – chongzixin

+0

這是我在我的應用程序中的代碼。它在ColdFusion中。 ** var isEditpage = 1; var isEditpage = 0; ** –

+0

感謝您指點我正確的方向!我現在有一個答案! :) – chongzixin