Il y a des questions similaires à SO, mais aucune qui semble répondre à cela.jquery form plugin & programatic submit
Voici une variante très simplifiée de ma situation. Drupal/PHP site - J'ai un formulaire avec le bouton submit que j'utilise jquery.form plugin pour soumettre ajax-ly. Cela fonctionne très bien si j'utilise le bouton submit (#submit).
Maintenant, je veux programmer ce bouton en utilisant un autre bouton (# submit2) en dehors du formulaire. Je peux le faire en utilisant la fonction jquery click(), mais le contenu qui revient ne va pas à la cible ajax comme je m'y attendais.
Je n'ai pas beaucoup de liberté pour réorganiser ce code, sinon je le ferais.
(Notez que j'ai essayé de rendre ce code facile pour vous d'exécuter par jquery src-ing et le plug-in sous forme de mon site Web.)
Idées? Merci!
<?php
if ($_REQUEST['submit'] == 'Submit') {
print 'ajax returns ... ' . $_REQUEST['text'];
exit;
}
?>
<html>
<head>
<script type="text/javascript" src="http://enjoy3d.com/scripts/jquery-1.2.6.js"></script>
<script type="text/javascript" src="http://enjoy3d.com/scripts/jquery.form.js"></script>
<script type="text/javascript">
$(function() {
$('#form').ajaxForm({ target: $('#span') });
$('#submit2').click(function() { $('#submit').click(); });
});
</script>
</head>
<body>
<span id='span'>target span</span>
<form method='post' id='form'>
<input type='text' name='text' size='50' />
<input type='submit' id='submit' name='submit' value='Submit'/>
</form>
<input type='submit' id='submit2' name='submit2' value='Submit Too?' />
</body>
</html>
vraiment, cela a fonctionné pour vous? N'a fait aucune différence quand j'ai essayé votre suggestion. Cliquer sur submit2 a provoqué le rechargement de la page en affichant uniquement le contenu du résultat ajax (le champ de saisie disparaît) –