J'ai une entrée de type de fichier, et je veux permettre à l'utilisateur de sélectionner une image sur son ordinateur ou simplement donner une URL, et notre serveur va télécharger l'image sur lui-même. J'ai un problème car je n'ai besoin que d'une seule entrée pour télécharger des images locales et des images liées.Fichier d'entrée avec l'URL
-1
A
Répondre
0
Vous pouvez utiliser JQuery pour cela, Il suffit de garder le type de l'entrée TextType
, et sur votre fichier de vue
...
<button id="uploadButton">Upload Image</button>
{{ form_widget(form.image , { 'id': 'image-field' }) }}
...
<script>
..
$('#uploadButton').click(function() {
var button = $(this);
if(button.text === 'Upload Image') {
button.text('Set URL');
$('#image-field').prop('type', 'file');
} else {
button.text('Upload Image');
$('#image-field').prop('type', 'url');
}
});
..
</script>
Ne pas oublier après avoir soumis le formulaire dans votre contrôleur pour vérifier si l'entrée avec le nom image est un fichier ou une URL en utilisant if ($request->files->has('imageField') ....
Avez-vous essayé d'utiliser une case à cocher de sélection pour choisir si une image ou une URL va être entré? –
Pourquoi avez-vous besoin d'utiliser une seule entrée? C'est idiot, vous pourriez mettre 2 et en cacher un qui pourrait être montré avec un lien ou un bouton. (Cacher l'autre champ alors) – COil