web-dev-qa-db-fra.com

Est-il possible de mettre un glyphicon bootstrap à l'intérieur d'un {{Form :: submit ('')}} - Laravel

Je veux changer ceci: 

{{ Form::submit('Delete this User', array('class' => 'btn btn-warning')) }}

à quelque chose comme ça:

{{ Form::submit('<i class="glyphicon glyphicon-delete"></i>', array('class' => '')) }}

Je sais que la deuxième option n'est pas correcte, tout le monde sait comment l'écrire correctement?

23
Gilko

Utilisez un <button> de type submit, ce qui ajoute plus de souplesse qu’une entrée submit:

{{Form::button('<i class="glyphicon glyphicon-delete"></i>', array('type' => 'submit', 'class' => ''))}}

Pour que ce soit clair, voici la méthode de classe:

public function button($value = null, $options = array())
{
   if ( ! array_key_exists('type', $options) )
   {
       $options['type'] = 'button';
   }

    return '<button'.$this->html->attributes($options).'>'.$value.'</button>';
}

Comme vous pouvez le constater, $value contient tout ce que vous insérez dans la balise <button>, donc placer l'icône devrait fonctionner. J'utilise ceci avec les icônes Fontawesome et cela fonctionne bien. Personnellement, j'ai tendance à les utiliser au lieu de Glyphicon, mais le principe reste le même.

En utilisant Form::submit(), vous créez plutôt un <input type="submit" qui ne peut pas accepter le code HTML en tant que contenu de l'attribut value. C'est pourquoi votre solution ne fonctionnera pas.

46
Damien Pirsy

Ça marche pour moi

{{ Form::button('<span class="glyphicon glyphicon-remove"></span>', array('class'=>'btn btn-default', 'type'=>'submit')) }}
3
Ignacio Fassini

Vous pouvez ajouter votre classe d'icônes à votre tableau de classes comme:

array('class' => 'btn btn-primary glyphicon glyphicon-remove');
0
Robert Nicjoo

J'ai utilisé Html::linkRoutes pour créer un bouton et je ne peux pas implémenter les méthodes que vous avez mentionnées auparavant ... Quelqu'un at-il des suppositions? Heres mon code:

<div class="col-md-12">
          {{ Html::linkRoute('posts.index', '<< Back to blog', [], ['class' => 'btn2 btn2-default']) }}
</div>
0
sogeniusio