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