le réglage de l'objectif _blank pour juste un formulaire de soumission de l'action
Je suis la soumission d'un formulaire pour mon application rails, avec deux boutons submit. Ils vont tous les deux à la même action de contrôleur, et d'utiliser la même forme, mais sur une action soumettre je veux faire de la forme target=_blank
de sorte que la forme de présentation des résultats de l'ouvrir dans une nouvelle fenêtre.
Est-il un moyen facile de faire cela?
Faire ce qui fonctionne pour les deux actions:
<%= simple_form_for @thingy, :target => '_blank' do |f| %>
J'ai sali autour avec l'aide de jQuery pour définir la cible sur la forme onclick
, mais avec pas de chance.
- Cela devrait être faisable par "nettoyage autour avec l'aide de jQuery". Qu'est-ce exactement avez-vous essayé?
- je vais modifier la question avec le javascript quand je reçois une chance. Essentiellement, je l'ai été: saisir l'action du clic sur le bouton, puis l'obtention de la forme et de la définition de la propriété cible, c'est à dire
$(this).parent().prop('target', '_blank')
- Comment au sujet de l'envoi via le clavier? quelle action voulez-vous alors?
- Qui devrait fonctionner en supposant
$(this).parent
était en fait$(this).parent()
où le parent est de la forme.
Vous devez vous connecter pour publier un commentaire.
Sur l'un des boutons, ajouter une classe dire
popup
. Puis ajouter un peu de jQuery comme ceci:Démo: http://jsfiddle.net/HxrzD/
Noter qu'il existe d'autres moyens de soumettre un formulaire que vous pourriez avoir besoin de considérer, f.ex le
enter
clé. Vous pourriez aussi avoir besoin de réinitialiser la forme de l'attribut cible dans le cas où l'utilisateur va retourner à la fenêtre parent et soumet de nouveau à l'aide du bouton. Dans ce cas, vous pouvez simplement effacer la cible à la fin:Ou enregistrer l'état précédent:
http://jsfiddle.net/HxrzD/2/
e.preventDefault()
et.submit()
parties, bien que..removeAttr('target')
à la fin de la chaîne.target
, maintenant, je pense que clone() est mieux 🙂.clone()
vous avez probablement besoin de donner à double vrai.clone(true, true)
(évidemment en fonction de combien de bananes de la Fpo DOM/événements sont vraiment).vous pouvez intercepter cliquez sur le bouton lire de données et de changer de forme, avant de soumettre:
Donc, HTML:
JS
de cette façon, vous pouvez contrôler l'option cible dans votre balisage html.
http://jsfiddle.net/oceog/gArdk/
dans le cas où si vous désactivez pas
target
de la forme, vous obtiendrez le scénario suivant:et qui sera également popup lui forme cible.
donc, à mon snipplet j'ai effacer la cible dans le cas de data-target="
si vous souhaitez marquer comme popup à un seul élément, vous aurez besoin de cloner votre formulaire:
http://jsfiddle.net/oceog/gArdk/2/
JS:
HTML:
Afin de traiter toutes les
submit
cas (et pas seulement des clics) je voudrais faire quelque chose comme ce qui suit: