Forum Discussion

EricSchiowitz's avatar
EricSchiowitz
Qrew Member
7 years ago

Reminders based on a day more than 999 days out - Can't enter 4 digits

  • On technical questions like this I like to follow the practical advice of Goofus and Gallant from Highlights magazine:



    Gallant would have you contact QuickBase Customer Care and post an enhancement request on User Voice. Goofus is in a bit of a hurry for a solution and would have you use one of the seven workarounds I outline in this post. Let's first look at what the underlying problem is.

    Using Chrome if you inspect the "Days" parameter on the Reminder page you will reveal the cause of the problem:



    For some unknown reason QuickBase has decided to limit the "Days" parameter to be three characters long.
    <input name="rDays" value="0" type="text" size="3" maxlength="3" class="hybridStyle"> 
    Now the decision to do this is probably lost to history and the developer who implemented it may not even be with QuickBase any longer. So while we are waiting for Gallant to get a get an official patch let me show you the seven ways Goofus would solve the problem using script and an increasing level of sophistication.

    1) Edit the Page with Chrome Dev Tools

    If you inspect the "Days" <input> in the Elements panel you can select the <input> and right click on the Edit as HTML.



    You will now be able to enter a number with more than three digits and the value will save to QuickBase:



    2) JavaScript Protocol / Bookmarklet

    You can paste the following JavaScript into the address bar:


    javascript:$("input[name=rDays]").removeAttr("size").removeAttr("maxlength");
    The same JavaScript above can be saved as a bookmark (in which case it is called a bookmarklet)

    3) Console Script

    The same script can be entered through the console:



    4) User Script / Tamper Monkey

    If you want to automatically liberate the "Days" parameter to accept more than three characters you can install the Tamper Monkey extension and use this user script:



    5) Local Override

    You can modify any HTML, JavaScript or CSS file served by QuickBase using the Local Overrides feature in Chrome Dev Tools:

    https://developers.google.com/web/updates/2018/01/devtools#overrides

    The changes you make will be unique to your browser but will persist over time.

    6) Branding on Load

    You can use the Branding on Load technique to inject script into the ?a=GenReminderEdit page. 

    7) Service Worker

    You can use a Service Worker to inject script or modify the ?a=GenReminderEdit page BEFORE the browser even starts rendering the page.