Webform kezelésre példa
Szia!
Külön modul írásával egy hasonló feladatot így oldottam meg. A kódot lerövidítettem, hogy csak egy rövid példa maradjon.
pelda.module:
function pelda_form_webform_client_form_641_alter(&$form, &$form_state, $form_id ) { } function pelda_webform_submission_presave($node, &$submission) { // Kezdeti értékek, amelyekkel dolgozunk $fizetendo = 0; // .... // Értéke: 32: 18 felett, 16: 14-18 év, 8: 14 alatt $kor = $submission->data[23]['value'][0]; // Ha valaki elmúlt 14, akkor kell csak szállást és 18 után ifa-t számolni. switch ($kor) { case 32: $szallas=3930; break; case 16: $szallas=3600; break; default: $szallas=0; break; } // Szállásnapok száma // Szállás értéke $fizetendo += $szallasnapok_szama*$szallas; // Fizetési összeg aktualizálása a beküldés előtt. $submission->data[22]['value'][0] = $fizetendo; }
pelda.js:
function changeFizetendo() { $fizetendo = 0; // Ha valaki elmúlt 14, akkor kell csak szállást és 18 után ifa-t számolni. if( $("#edit-submitted-kor-1").is(":checked") ) { $szallas=3930; } else if( $("#edit-submitted-kor-2").is(":checked") ) { $szallas=3600; } else { $szallas=0; } // Szállás kiszámolása $fizetendo += ($("#edit-submitted-szallasnapok-1").is(":checked"))?$szallas:0; $fizetendo += ($("#edit-submitted-szallasnapok-2").is(":checked"))?$szallas:0; $fizetendo += ($("#edit-submitted-szallasnapok-3").is(":checked"))?$szallas:0; // Számolás végén az érték beállítása, mint fiezetendő $("#edit-submitted-fizetendo").val($fizetendo); // Abban az esetben, ha nincs a kor kitöltve, akkor a focust a korra teszi. //if( $("#edit-submitted-kor").is(":empty") ) { // $("#edit-submitted-kor").focus(); //} }; jQuery(document).ready( function($) { // Fizetendő mező kikapcsolása, hogy ne legyen szerkeszthető $("#edit-submitted-fizetendo").attr("disabled", "disabled"); // Annak figyelése, hogy ha valamelyik beviteli mező változik, akkor a fizetendő értékét is újraszámoljuk. $("input").bind('change', changeFizetendo); } );
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
itt kellett volna
Permalink Beküldte csakiistvan - 2012. június 12. 18.57
Drupal full-stack developer at Wunderman Thompson Budapest
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Pl.:
Például:
CKEditor
http://drupal.org/project/ckeditor
vagy
WYSIWYG
http://drupal.org/project/wysiwyg