jFormer - jQuery Forms framework

Đăng bởi Neo trong mục Hướng dẫn vào 04 tháng 3, 2011 | Comments

Tạo một form trong HTML luôn cần nhiều công sức (thiết kế, chuyển mã HTML, xác thực, dễ cho người dùng...). Và bạn sẽ được giảm bớt công sức với jFormer, một form framework xây dựng từ jQuery. jFormer mang đến giải pháp (gần như là toàn diện) để tạo HTML form dễ dàng hơn.

jFormer bao gồm cả file php đi kèm giúp bạn biết được cách thực hiện ajax, các cách kiểm tra/xác thực xem người dùng có điền đúng hay không... Framework này cũng có các tính năng nâng cao như clone forms và/hoặc các trường trong form, phân chia form thành các trang khác nhau,...

Bạn có thể tùy biến cách hiển thị của form và từng trường trong form bằng CSS hoặc có thể sử dụng ngay hiển thị mặc định vì nó cũng rất đẹp rồi Wink

Cách sử dụng

Tải về jFormer và thêm vào file HTML như sau:

 
<link rel="stylesheet" type="text/css" href="/css/jformer.css" ></link>

<script type="text/javascript" src="/js/jquery.js" ></script>
<script type="text/javascript" src="/js/jformer.js" ></script>

Bạn nhớ đặt jQuery lên trước jFormer (trong tất cả các plugin của jQuery thì jquery.js đều được đặt lên trước)

Thêm file php khi tạo forms:

 
    require_once($_SERVER['DOCUMENT_ROOT'].'/php/jformer.php');

Đoạn mã làm một form đơn giản:

 
<?php
  $contactForm = new JFormer('contactForm', array());

  $contactForm->addJFormComponentArray(array(
      new JFormComponentName('name', 'Name:', array(
          'validationOptions' => array('required'),
      )),
      new JFormComponentSingleLineText('email', 'E-mail address:', array(
          'width' => 'long',
          'validationOptions' => array('required', 'email'), // các lựa chọn xác thực
      )),
      new JFormComponentSingleLineText('subject', 'Subject:', array(
          'width' => 'longest',
          'validationOptions' => array('required'),
      )),
      new JFormComponentTextArea('message', 'Message:', array(
          'width' => 'longest',
          'height' => 'medium',
          'validationOptions' => array('required'),
      )),
  ));

  // Hàm khi submit thành công
  function onSubmit($formValues) {

      if(!empty($formValues->name->middleInitial)) {
          $name = $formValues->name->firstName.' '.$formValues->name->middleInitial.' '.$formValues->name->lastName;
      }
      else {
          $name = $formValues->name->firstName.' '.$formValues->name->lastName;
      }



      // Gửi thông điệp (bạn cần server có hàm gửi mail)
      // nếu không thể gửi mail, jformer sẽ trả về thông báo lỗi
      if(!$mail->Send()) {
          $return = array('status' => 'failure', 'response' => $mail->ErrorInfo);
          $return['failureNoticeHtml'] = 'There was a problem sending your e-mail.'; // trả về failureNoticeHtml và thông tin báo lỗi
      }
      else {
          $return = array('status' => 'success', 'response' => 'Message successfully sent.');
          $return['successPageHtml'] = '<h1 style="margin-bottom: .5em;">Thanks for Contacting Us</h1><p>Your message has been successfully sent. We will respond as soon as possible.</p>'; // trả về successPageHtml, bạn có thể sử dụng mã HTML trong thông báo của mình
      }

      return $return;
  }
?>

Các tài liệu sử dụng jFormer vẫn đang được hoàn thành, bạn có thể kiểm tra tiến độ tại đây

Bạn có thích bài viết này?

Neo's picture

Neo

Nhìn mặt trời từ năm 1984 nhưng tới tận 2002 mới được thấy cái máy tính đầu tiên của mình. Đầu năm 2007 thì quyết định theo cái nghề cao quý là thiết kế web Big Grin. Hiện mình đang sống tại Hà Nội. Sở thích: làm website và giúp đỡ mọi người phát triển website theo chiều hướng tốt đẹp hơn.

Trang chủ - Twitter