Text field manipulation

Hey everyone, I’m in an outside field (curriculum design) and I’m trying to prototype an adaptive e-reader for students with disabilities. Basically, I need to create a textbox that varies typeface, size, language, etc . . . from a drop-down options menu and I’m in way over my head. I’ve figured out how to change these things individually, but I can’t piece together the logic that would allow two variables to change the text simultaneously. Like, if a Hispanic student also has vision issues, I can’t figure out how to change the text size AND convert the text to Spanish.

If anyone out there could help, I’d really appreciate it. Thanks!

One way you could accomplish this is by using Cases / Conditional Logic and a Dynamic Panel. This approach might get a little out of hand if you have many droplists (each with many options), but I’ve included a file here to show how you might go about this with 2 different droplists, each of which have 2 different values.

ereader-example.rp (62.5 KB)

Each droplist has a “Selection Changed” interaction with some conditional logic. So whenever the selection on one of the droplists changes, it checks the values of each droplists and performs a “Set Panel State” action according to the values in the droplists.

  • the first case checks for the selected options of “English” language in the first droplist and “Normal” font size in the second droplist. If both of these conditions are true, it sets the panel to the Default state (English + regular font size)
  • the second case checks for the selected options of “English” language in the first droplist and “Large” font size in the second droplist. If these are true, it sets the panel to the appropriate state
  • …the same logic follows for Spanish language and normal/large font sizes

If you’re adding more droplists/options to the mix, you’ll end up with more rows of conditional logic, more cases, and more panel states to manage, but hopefully this helps give you an idea how you could accomplish this in RP, albeit with a simplified example.

Happy prototyping!