Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 19. Februar 2011 17:05

Foaly*
Gast

[GELÖST] [GELÖST] [GELÖST] FormBuilder und HTML5

Hallo,

das placeholder-Attribut ist im FormBuilder ja schon implementiert. Nur im Absender-Feld fehlt es noch, zusammen mit dem Standard-Wert an sich (http://dev.cmsmadesimple.org/feature_request/view/5103). Lässt sich aber recht schnell fixen:

FromEmailAddressField.class.php#40:

[== PHP ==]
$adv = array(
array($mod->Lang('title_field_default_value'),$mod->CreateInputText($formDescriptor,
'fbrp_opt_default',$this->GetOption('default'),25,1024)) );

UND

FromEmailAddressField.class.php#31:

[== PHP ==]
($this->HasValue()?htmlspecialchars($this->Value,
ENT_QUOTES):htmlspecialchars($this->GetOption('default'), ENT_QUOTES)),

Wer noch das placeholder-Attribut setzen will, ändert FromEmailAddressField.class.php#40 in:

[== PHP ==]
$adv = array(
    array($mod->Lang('title_field_default_value'),$mod->CreateInputText($formDescriptor, 'fbrp_opt_default',$this->GetOption('default'),25,1024)),
    array($mod->Lang('title_html5'),$mod->CreateInputHidden($formDescriptor,'fbrp_opt_html5','0').
    $mod->CreateInputCheckbox($formDescriptor, 'fbrp_opt_html5','1',$this->GetOption('html5','0')))
);

UND

FromEmailAddressField.class.php#30ff in:

[== PHP ==]
$html5 = $this->GetOption('html5','0') == '1' ? ' placeholder="'.$this->GetOption('default').'"' : '';

return $mod->fbCreateInputText($id, 'fbrp__'.$this->Id,
    ($this->HasValue()?htmlspecialchars($this->Value, ENT_QUOTES):htmlspecialchars($this->GetOption('default'), ENT_QUOTES)),
    25,128,$html5.$js.$this->GetCSSIdTag(),'email');

Mir ist es allerdings nicht gelungen, Pflichtfeldern das required Attribut anzuhängen (http://dev.cmsmadesimple.org/feature_request/view/6135), da isRequired() in der Funktion GetFieldInput() nur NULL zurückgibt. Die Parameter scheinen nicht geladen worden zu sein. Ebenfalls die ID, sodass LoadField() nicht ausgeführt werden kann.

Jemand eine Idee?

#2 04. März 2011 12:32

Foaly*
Gast

Re: [GELÖST] [GELÖST] [GELÖST] FormBuilder und HTML5

Scheint nicht das große Interesse zu wecken wink Meine Frage ist och offen: Gibt es eine Möglichkeit Pflichtfelder mit dem HTML5-Attribut required auszustatten?

Hab außerdem das Textfeld um eine Überprüfungs-Methode erweitert: Telefon (HTML5 basiert). Auch wenn es vielleicht auch hätte besser in einen eigenen Typ gekapselt werden sollen? Oder nicht..

Es gibt ja leider keine Chance, dass die auch in das Modul-Forge Einzug halten wird sad Die Feature Requests von 2006 wurden bisher nich beachtet.

Beitrag geändert von Foaly* (04. März 2011 12:43)

#3 04. März 2011 12:43

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: [GELÖST] [GELÖST] [GELÖST] FormBuilder und HTML5

Foaly* schrieb:

Scheint nicht das große Interesse zu wecken wink Meine Frage ist och offen: Gibt es eine Möglichkeit Pflichtfelder mit dem HTML5-Attribut required auszustatten?

kann man das nicht mit einer kombination von smarty modifiers tun?
als feld-alias gibst du den entsprechenden feldern zb "required".
dann sieht das so aus:
<input type="text" id="required" maxlength="80" size="25" value="" name="cntnt01fbrp__36">

dann haben zwar alle die selbe id wenn du das mehrfach machst aber vor der ausgabe machst du dann folgendes im formular template:
{$entry->required_symbol|replace:'id="required"':'required="required"'}

einfach mal rumexperimentieren!

gruß


edit: habs grad mal ausprobiert aber an der richtigen stelle, so gehts:

{if $entry->smarty_eval == '1'}
{eval var=$entry->input|replace:'id="required"':'required="required"'}
{else}
{$entry->input|replace:'id="required"':'required="required"'}
{/if}

Beitrag geändert von nicmare (04. März 2011 12:47)

Offline