2012-07-14 89 views
0

我想開發一個HTML5聯繫表單,並用jQuery/AJAX驗證它。HTML5 FORM,AJAX驗證

我在網上找到的唯一幫助是this tutorial,它解釋瞭如何在現代瀏覽器中爲新的HTML5表單屬性(必需的和最小長度)執行此操作,並且爲舊版瀏覽器使用polyfills,儘管我的需要有點不同。

本質上,我希望人們要麼請求三個複選框中的一個,要麼輸入消息。單獨來說,這些元素都不是必需的,但我希望在提交表單之前至少有一個元素包含數據。如果有誰知道這是如何的jQuery/AJAX這將是非常讚賞寫入

if(empty ($checkbox1) && empty($checkbox2) && empty($checkbox3) && empty($message)){ 
    $formok = false; 
    $errors[] = "You need to either make a request for information, or ask a question."; 
} 

可以用PHP使用類似做到這一點。

+0

你有沒有選中此:http://www.matiasmancini.com.ar/ajax-jquery-validation-html5-form.html能 – 2012-07-14 19:59:50

+0

你提供了表單的HTML?您可以將它發佈在[jsFiddle](http://jsfiddle.net)或[jsbin](http://jsbin.com) – 2012-07-14 20:00:51

+0

嗨Nadav,表單的HTML與發佈的教程完全相同上面,添加三個輸入複選框。 – 2012-07-15 00:49:00

回答

0

如果信息是你不想在一個get請求中的東西,然後看看jQuery $.post()函數。文檔http://api.jquery.com/jQuery.post/應該是很多讓你沿着正確的路線。

0
 var $checkbx1 = $('#checkbox1'), 
     $checkbx2 = $('#checkbox2'), 
     $checkbx3 = $('#checkbox3'), 
     formok = true, 
     $msg = $('#mymsg').val(); 

用戶嘗試提交表單:

$('#submitBtn').click(function() { 
     if(($checkbx1.val() == '' && $checkbx2.val() == '' && 
       $checkbx3.val() == '') || $msg == '') { 

      formok = false; 

     } 

     if(formok) 
     { 
      $.ajax({ 
       url: 'yourUrl', 
       data: 'yourData', 
       type: 'post', 
       dataType: 'json', 
       success: cb <-- your callback function 
      }); 
     } 
    });