Identify current url, OR, view / add / edit of a form.

  • 0
  • 2
  • Question
  • Updated 1 year ago
  • Answered
This is probably really easy - but I am stumped.

I would like to display a piece of bright colorful text on my form and have it be conditional depending on whether the user is adding a record, viewing a record, or editing a record.

Identifying that the user is adding a record is not an issue, a record id does not exist until after created.

I can not figure out how to tell my formula text field that the user is either in view or edit while on the form. If I could get the exact url from the browser of the user, I could use the "dr" or "er" as my indicator for my formula.

If anyone could share any ideas - I think I might be stuck within a box and need some other brains to have a thunk at it.

Thank you!
Photo of Eric J Hansen @ CirrusOps

Posted 5 years ago

  • 0
  • 2
Use three fields.  Then set Form properties to show them respectively for View, Edit, Add.
VERY SIMPLE!!! Thank you!!! HAHAHAHA!!!
:)
Didnt mean to convert my comment to an answer... wasnt sure if I had marked your comment as answering my question... kinda confusing. thanks again!
It shows as 2 answers, but I think that you (but not me) has the ability to mark mine as the "Recommended answer".
Photo of Paul Vorster

Paul Vorster

  • 586 Points 500 badge 2x thumb
HI Guys, I am looking at the exact same problem, please can you share the code for the button and fields?
Photo of Paul Vorster

Paul Vorster

  • 586 Points 500 badge 2x thumb
Can you then also do an "if statement" in the URL field, to say "IF field=add, then use specific URL, of field=view, then use specific URL, otherwise use Edit URL"?
No, you cannot do an IF based on the URL. The IF formula cannot "see" into the URL.
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 30,434 Points 20k badge 2x thumb
It can be easily accomplished with script using the IOL technique. In fact the generic module.js template used with the IOL technique decodes precisely what page you are on to decide what modifications are appropriate for each type of page.

I would ask a new question asking for the precise behavior you want as the original question is three years old.

Here is the generic IOL module.js template:
(function(){
  var querystring=document.location.search;
  if (/dlta=mog/i.test(querystring)) {
    //GRID EDIT PAGE ========================================
    alert("You are on the Grid Edit Page");
  } else if(/a=er/i.test(querystring)) {
    //EDIT RECORD PAGE ========================================
    alert("You are on the Edit Record Page");
  } else if (/a=API_GenAddRecordForm/i.test(querystring)) {
    //API_GenAddRecordForm PAGE ========================================
    alert("You are on the GenAddRecordForm Page!");
  } else if (/a=GenNewRecord/i.test(querystring)) {
    //ADD RECORD PAGE ========================================
    alert("You are on the Add Record Page");
  } else if (/a=nwr/i.test(querystring)) {
    //ADD RECORD PAGE ========================================
    alert("You are on the Add Record Page");
  } else if(/a=dr/i.test(querystring)) {
    //DISPLAY RECORD PAGE
    alert("You are on the Display Record Page");
    $("img[qbu=module]").closest("td").css("background-color","#FFFFFF");
  } else if(/a=q/i.test(querystring)) {
    //REPORT PAGE ========================================
    alert("You are on the Report Listing Page");
  } else if(/a=td/i.test(querystring)) {
    //TABLE DASHBOARD PAGE ========================================
    alert("You are on the Table Dashboard Page");
  } else if (/a=FinishEditRecord/i.test(querystring)) {
    //FINISH EDIT RECORD PAGE ========================================
    alert("You are on the Finish Edit Record Page");
  } else if (/a=API_GenAddRecordForm/i.test(querystring)) {
    //API_GenAddRecordForm ========================================
    alert("You are on the API_GenAddRecordForm Page"); 
  } else {
    //OTHER PAGE ========================================
    alert("You are on the Some Other Page");
  }
})();
(Edited)