В SO есть похожие вопросы, но ни один из них, похоже, не решает эту проблему.
Ниже приведен очень упрощенный вариант моей ситуации. Сайт Drupal / PHP - у меня есть форма с кнопкой отправки, которую я использую плагин jquery.form для отправки ajax-ly. Это работает нормально, если я использую кнопку отправки (#submit).
Теперь я хочу программно запустить эту кнопку, используя другую кнопку (# submit2) за пределами формы. Я могу сделать это с помощью функции jquery click (), но возвращаемое содержимое не направляется к цели ajax, как я ожидал.
У меня нет большой свободы реорганизовать этот код, иначе я бы.
(Обратите внимание, что я попытался упростить запуск этого кода с помощью src-ing jquery и плагина формы с моего сайта.)
Идеи? Спасибо!
<?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>