Welcome to the Dual Rating Scale resource. Below are links to
working HTML pages (dualratingscale.html
) and (dailyschedule.html
), which demonstrate how to record
Emotion and Arousal data throughout the day, and then
a way to visualize it in a chart or save the results as a text file.
Link to the Demo Dual Rating Scale:
Open the Dual Rating Scale Form
Link to the Demo HTML File to copy:
Here is the Dual Rating html
Link to the Demo Daily Schedule:
Open the Daily Schedule Form
Link to the Demo Daily Schedule HTML File to copy:
Here is the simplier Daily Schedule html
The dualratingscale.html file provides an interactive form that allows users to rate how they feel (emotion) and how energized or calm they are (arousal) at key time slots throughout the day. It is designed with the following goals:
<!DOCTYPE html>
,
<html>
, <head>
, and <body>
tags.
In the <head>
, we see a <style>
block that includes
rules to style the page: fonts, spacing, borders, etc.
<div class="legend">
that describes the
Emotion Rating Scale (1–5) and the Arousal Rating Scale (1–5),
each with emoji examples. This helps users interpret how to select ratings.
<div class="form-section">
blocks, each containing:
<label>
for the date and a <input type="date">
element, so the user can select the day being tracked.
<div class="time-slot">
blocks (like "⏰ 6:30 AM - Wake Up"),
each with radio buttons for Emotion and Arousal, plus a
<textarea>
for notes.
<script>
at the end, the code:
collectData()
), scanning the
radio buttons to see which emoji rating was selected for each time slot.
saveData()
) by converting the
results to JSON and prompting the user to download it.
generateChart()
).
The chart displays two lines: one for Emotion and one for Arousal.
If you’d like to collect data at different times or label them differently (e.g.,
“8:00 AM - Start of Class”), simply locate the corresponding
<div class="time-slot">
in the HTML and rename it. Make sure you
also update the code in the JavaScript section that defines the schedule order (i.e.,
the scheduleOrder
array in collectData()
). This array links
each time slot’s HTML name attribute (like wake_up_emotion
) to its label (“6:30 AM”).
collectData()
, which reads all the radio inputs and textareas
(notes), storing them in an object.
generateChart()
function. It pulls the same collected data and renders
a Chart.js line chart with two datasets:
emotionValues (blue line) and arousalValues (red line).
The current example saves data only as a text file. However, if you wish to create a PDF or automatically print the chart, you can:
This dual rating form is primarily focused on emotion and arousal, but you could tweak the code for any rating scales:
Additionally, you can tie these ratings into other frameworks: for instance, integrating them with an educational plan, daily living skills tracker, or an occupational therapy assignment.
Note: If you want to store data in a database or handle large volumes of records,
you can adapt the saveData()
logic to POST the JSON to a server-side script (PHP, Node.js, etc.),
which then saves to a DB or cloud storage.
You can see and edit the full code in dualratingscale.html
. It is best
to open that file in a modern browser (Chrome, Firefox, Edge) that can run
JavaScript, handle Blob
downloads, and display Chart.js charts.
The Dual Rating Scale tool can be a helpful framework for collecting, visualizing, and reflecting on daily emotional and arousal data. It’s simple to modify, so you can tailor the schedule, rating descriptions, or chart outputs to fit your specific needs. We hope this explanation helps you integrate the tool into your own routines or professional practice.