Если у меня есть эта форма, которая отправляет данные сообщения на страницу:
<form method="post"> <input type="text" name="name"/> <input type="submit"/> </form>
Как я смогу использовать JavaScript / jQuery для ввода дополнительных данных POST. Это было бы проще, если я только отправлю форму через ajax, используя любую из функций, таких как $.post()
, $.get()
или $.ajax()
. Но я хочу здесь подать форму не через ajax.
Дополнительные данные приведены в JavaScript. Я думаю о том, чтобы просто вводить новое скрытое поле в DOM, в котором я буду передавать данные, чтобы он передавался с формой, но есть ли другой способ сделать это?
Прокомментируйте, если вам нужно больше кода / объяснений.
Вместо того, чтобы использовать кнопку отправки, используйте обычную кнопку и контролируйте представление через Javascript. В вашем javascript вам нужно сериализовать форму и передать ее как данные вместе с чем-либо еще, что вы хотите.
<script> $(document).ready(function() { var extra_data = "This is more stuff to send"; $('#submit').click(function() { $.ajax({ type: "POST", url: "form.php", data: {'form': $("#my_form").serialize(), 'other': extra_data}, success: function(msg) { alert("Form Submitted: " + msg); } }); }); }); </script> <form id="my_form" method="post"> <input type="text" name="name" /> <input type="button" id="submit" /> </form>
<head> <script src="jquery/jquery-1.11.1.min.js"></script> <script> $(function () { $('#form_id').on('click','#submit', function(e){ e.preventDefault(); $.ajax({ type: "POST", url: "get_Ajax.php", data: $('#form_id').serialize(), success: function(data) { alert(data); } }); return false; }); }); </script> </head> <form method="post" id="form_id"> <input type="text" name="ime"> <input type="button" id="submit" name="submit" value="Send"> </form>
** get_ajax.php **
<?php $ime = $_POST['ime']; echo "Your name is $ime"; ?>