2012-07-14 92 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 
      }); 
     } 
    });