It's easy enough to manipulate but the way this is working is they're essentially having you pass the completed API call when you open the code page and you're just appending the input at the tail end of it and moving it along. If you needed to collect more inputs you'd need to amend that slightly but easy enough. You could do things like adding the following inputs into your html body:
<form onSubmit="run();">
<div class="form-group">
<label for="input">Please provide some input</label>
<input class="form-control" id="input" autofocus>
<label for="dateInput">Please provide some date input</label>
<input type="date" class="form-control" id="dateInput" autofocus>
<label for="select">Please provide some Multiple Choice input</label>
<select class="form-control" id="select" autofocus>
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>
</div>
<a class="btn btn-primary" onclick="run()" role="button">Submit</a>
<a class="btn" onclick="window.location.href = document.referrer;" role="button">Cancel</a>
</form>
Then your script would look something like this where you have to actually build the URL for the API call as opposed to just appending the input
const input = document.getElementById('input').value;
const dateInput = document.getElementById('dateInput').value;
const select = document.getElementById('select').value;
let urlParams = new URLSearchParams(window.location.search);
//let url = urlParams.get('url') + encodeURIComponent(input);
let url = "https://yourrealm.quickbase.com/db/yourdbid?a=API_EditRecord_fid_firstFid=" + input + "&_fid_secondFid=" + dateInput + "&_fid_thirdFid=" + select
That's the gist anyway. Full disclaimer that I didn't save this anywhere and I did 0 testing but that's the general concept you'd be targeting.
------------------------------
Chayce Duncan
------------------------------