JQuery .trigger('submit') rupture
Im trouver que parce que tous les formulaires que je travaille sur d'avoir un bouton submit qui comprend également une " name="submit"' attribut, que le déclencheur soumettre, c'est de casser quand je clique sur le lien qui est censé déclencher le formulaire de soumission.
Personne ne sait comment je peux contourner cela.
Le JQuery, le code ci-dessous est ce que la messagerie instantanée à l'aide de:
$('#login_form :submit').each(
function()
{
var $this = $(this);
var f = this.form;
var link = $('<a class="swap_link" href="#">' + $this.val() + '</a>')
link.click(function()
{
$(f).trigger('submit');
return false;
}
)
$this.after(link).css({position:'absolute', top:'-2000px'});
}
)
D'apprécier l'aide de ce. Grâce
Salut. consultez le lien ci-dessous:
http://www.mr-scraggy.com/test.html
sur cette page vous pouvez voir la forme dans l'action. Le sommet de sa forme qui n'ont pas de nom="submit" dans le bouton soumettre des œuvres. Le fond de la forme qui comprend le nom="submit" ne fonctionne pas. (quand je dis travail, le formulaire n'est pas relié à des scripts, mais vous pouvez voir que le lien soumettre au top de sa forme et n'a "quelque chose").
voir également ci-dessous le formulaire html:
<form id="swaplink" name="login" action="/action/login.php" method="post" accept-charset="utf-8" class="clearfix">
<input type="hidden" name="redirecturl" id="redirecturl" value="{$redirecturl}" />
<h2>My Account Login</h2>
<ul id="login_form">
<li>
<label for="username">Username:</label>
<input type="text" name="username" id="username" class="input-text" maxlength="32" />
</li>
<li>
<label for="password">Password:</label>
<input type="password" name="password" id="password" class="input-text" maxlength="32" />
</li>
<li>
<input type="submit" name="submit" value="Login" />
</li>
</ul>
{$failed_message}
</form>
OriginalL'auteur | 2009-04-08
Vous devez vous connecter pour publier un commentaire.
C'est parce que vous avez donné à votre bouton soumettre le nom de "soumettre". Parce que c'est déjà une propriété de l'objet de formulaire, il mess avec la liaison de l'événement submit.
Voir cette note de la jQuery docs:
Changer le nom de votre bouton soumettre à quoi que ce soit d'autre ("form_submit", par exemple) et ça marchera.
OriginalL'auteur jayeb333
Vous devez construire le lien comme ceci:
Aussi assurez-vous d'insérer le lien dans les DOM et que f est vraiment une refrence pour la forme.
Vous pouvez également essayer:
Il serait utile si vous avez publié sur le code HTML utilisé pour votre formulaire.
Salut. consultez le lien ci-dessous: mr-scraggy.com/test.html sur cette page, vous pouvez voir la forme dans l'action. Le sommet de sa forme qui n'ont pas de nom="submit" dans le bouton soumettre des œuvres. Le fond de la forme qui comprend le nom="submit" ne fonctionne pas.
OriginalL'auteur Pim Jager
Vous aurez à utiliser un nom différent pour votre bouton. "soumettre" est un mot réservé, et à l'aide d'un élément avec le nom "soumettre" sera effectivement empêcher jQuery d'être en mesure de soumettre votre formulaire.
Vous pouvez trouver une solution de contournement à http://manicode.blogspot.com/2009/04/form-input-names-with-reserved-words.html
On dirait que vous avez pour votre réponse! =]
OriginalL'auteur samiz
$('#yourelementhere').trigger('click');
cela a fonctionné pour moi... de ne pas soumettre, mais cliquez sur.
OriginalL'auteur henrijs
si vous ne pouvez pas modifier votre code html (par exemple parce que zend forme sont tels smartasses...)
c'est aussi simple que cela(modifier le nom avec le javascript avant d'essayer de soumettre):
OriginalL'auteur max4ever