Нужно в форму подгрузить скриптик, который будет обрабатывать элементы формы онлайн.
Сделал кастомный модуль с form_alter
<?php
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if (isset($form['#node']) && $form_id == 'test_node_form') {
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js', 'file');
$settings['diveSettings'] = array ('timeStart' => $form['field_timestart'],
'timeStop' => $form['field_timestop'], );
drupal_add_js($settings,'setting');
}
}
?>
Текст скрипта ниже.
//-------------------------------------------------------------------
Drupal.behaviors.mymodule = {
attach: function(context, settings) {
Alert('TEST');
if (!settings) settings = Drupal.settings.diveForm;
var timeStart = settings.diveSettings.timeStart;
var timeStop = settings.diveSettings.timeStop;
$.fn.calcDuration = function(){
$('#edit-field-dive-duration').val( timeStart-timeStop );
}
$('#edit-field-timestart, #edit-field-timestop').change( calcDuration );
}
};
//-------------------------------------------------------------------
})(jQuery);
Насколько я понимаю, после полной загрузки формы, должен автоматически запуститься behaviors.mymodule. Но ничего не происходит, я сообщения Alert не вижу. Подскажите, где ошибаюсь ?
Комментарии
Откуда же взялась функция Alert() ?
подводя итог - правильность правописания лучше всегда смотреть в консоли, там я думаю будет ошибочка по данному поводу
)))) спасибо. Я не волшебник, я только учусь
дубль