Product ideas | Community
Skip to main content

Filter by idea status

10000 Ideas

Dave_Roberts
Dave_RobertsNew Participant

Acceptable Defaults: Form Inline StylesNew

The current default "new form" experience is pre-populated with fields which have an "unset" or "empty" value for the Label Width and Field Width inputs (below, top). When the form renders in the Preview Draft mode, the label and field are both modified with an inline width style (100px and 150px respectively) although the input is empty by default (below, bottom).       I'd at least expect the default values for the Label Width (100px) and Field Width (150px) to be preset to the values that populate by default so that there's some clue as to the relationship between the input and the output. Given that the input is empty, it'd be great to extend/refactor the script to consider an "empty" value as a way of not setting an inline width [attribute] on an element (which generally these days is preferred for responsive design).  Better yet would be to remove the "px" appended to the value in the input (Label/Field Width) so that "400" outputs "400px" and rather take the exact value of the input to extend the functionality to other units (400%, 400em, 400px).    This issue is not limited to just the Label Width and Input Width properties, you'll also notice on the top line of the bottom image (above) an inline style ending in "...; width: 271px;". This is the bottom line of the form element with a width of 271px. This value is not set in the form editor and rather it's implied - presumably as a total of other implied values like the width of the labels and inputs. Adding an input to actually set the width of the form on the user-end would be better than implying the width and creating a need for an "override solution" in the default context.   Most often, this issue is solved with CSS by overriding the ".mktoHasWidth" class with a setting of "width:auto !important;" to override the inline styles -or- with JS by removing the style="" attribute from all the form elements (the nuclear option). At very least, it'd be an improvement to not add an inline style by default unless there is an explicit value in one of the Form Editor inputs (like Label Width, Field Width, etc). Alternately, it'd be great to add more inputs to the form editor experience so that the things that are added as inline styles are "open" to be changed similarly to the field width and height (ex. columns have a default margin-bottom of 10px) which works at the issue the other way around without changing the defaults.   PROPOSED:  ⭐⭐⭐⭐  Update forms2.js to interpret empty values in the forms editor as empty values and do not set inline styles for any elements which are not explicitly entered into an input. ⭐⭐⭐      Update forms2.js to accept a "value + unit" combo (100%, 30em, 400px) rather than just a number appended with "px" for any width-related inputs (including Max Length).  ⭐⭐          Add similar inputs (value + unit) into the Form Editor to create user controls for anything that's added as an inline style on any element (ex. margin-bottom on columns, width on inputs, labels and spacers). This would at very least expose the defaults and allow things to be zeroed-out (margin-bottom: 0px) or even better, emptied and then omitted as an inline style all-together.   

Dave_Roberts
Dave_RobertsNew Participant

Acceptable Defaults: Root Block Elements = NoneNew

The current default setting for the Root Block Elements in Email is set to "<p>" and Landing Pages is set to "<div>". This is problematic for folks that are new to Marketo and didn't elect for, or aren't aware of, this setting. 1) It behaves like a "ghost in the machine" whenever a user uses the Rich Text Editor to modify an editable area which can produce unexpected results based on how an email is coded to handle this.   2) <p> elements in email display different from browser to browser and are not an industry standard root block element (<div> would be much better even). This is a functional issue that can "break" email layouts.3) It assumes that content is going to be some kind of text in Email using the <p> element which is problematic for non-text elements inside an editable area -- while assuming that content is going to be some kind of block in Landing Pages using the <div> element which is problematic for text element editable areas (ex. <h1 class="mktoText" id="edit_h1" mktoName="headline 1">...</h1>).   Rather than setting the defaults to a value (<p>,<div>) and having the end-user discover this default setting by way of an error (which is perceived to be a Marketo issue b/c it's the OotB default setting), reversing the defaults to "None" would provide a more common-sense starting point and create the perception that the ability to add Root Block Elements is a feature that's built-in and ready-when-you-are rather than something you've got to discover in frustration.    PROPOSED: Change the default setting for both EM and LP to "None".