ฉันสร้างฟอร์มเว็บโดยใช้ Form API ฉันใช้#AJAX
ตัวเลือกฟิลด์เพื่อเพิ่มการตรวจสอบ AJAX ให้กับแต่ละฟิลด์
เป็นไปได้หรือไม่ที่จะตรวจสอบและส่งแบบฟอร์มโดยใช้ AJAX โดยไม่ต้องโหลดหน้าซ้ำ หากการตรวจสอบล้มเหลวฉันต้องการแสดงข้อความแสดงข้อผิดพลาดและหากการตรวจสอบสำเร็จแล้วฉันต้องการแสดงข้อความ (นึกคิดใน lightbox) และตั้งค่าเขตข้อมูลแบบฟอร์ม
รหัสของฉัน:
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#default_value' => '',
'#maxlength' => '128',
'#required' => TRUE,
'#ajax' => array(
'callback' => '_validate_name',
'wrapper' => 'name-error-icon-container',
'method' => 'html',
'effect' => 'none',
'progress' => array(
'message' => NULL,
),
),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
'#ajax' => array(
'callback' => '_handle_form_submit',
'effect' => 'fade',
),
);
ฟังก์ชั่นการโทรกลับมีลักษณะเช่นนี้:
function _validate_name($form, $form_state) {
if ($form_state['values']['name'] != '') {
$output = 'OK';
}
else {
$output = 'Enter a value';
}
return $output;
}
function _handle_form_submit($form, $form_state) {
}
แต่ฉันไม่แน่ใจว่าสิ่งที่ควรไปใน_handle_form_submit
ฟังก์ชั่นการตรวจสอบแล้วส่งคืนข้อความหรือส่งแบบฟอร์มและเขตข้อมูลรีเซ็ต?