Czy istnieje sposób na użycie javascript i JQuery w celu dodania dodatkowych pól do wysłania z formularza HTTP za pomocą POST?
Mam na myśli:
<form action="somewhere" method="POST" id="form">
<input type="submit" name="submit" value="Send" />
</form>
<script type="text/javascript">
$("#form").submit( function(eventObj) {
// I want to add a field "field" with value "value" here
// to the POST data
return true;
});
</script>
Odpowiedzi:
Tak, możesz spróbować z kilkoma ukrytymi parametrami.
źródło
.appendTo(this)
prawdopodobnie byłoby lepiej.appendTo('#form')
jest znacznie lepszy, ponieważ takie podejście pozwala przesłać inny formularz z wartościami z tego.$(this).find("input[name="+"something"+"]").remove();
Spróbuj tego:
źródło
this
zamiast zbędnych#form
źródło
Możesz dodać
hidden
input
dowolną wartość, którą chcesz wysłać:źródło
To działa:
źródło
$('body').append(form); $(form).submit();
Może być przydatny dla niektórych:
(funkcja, która pozwala na dodawanie danych do formularza za pomocą obiektu, z nadpisaniem dla istniejących danych wejściowych, jeśli istnieje) [pure js]
(formularz to dom el, a nie obiekt jquery [ jqryobj.get (0), jeśli potrzebujesz ])
Posługiwać się :
możesz tego również używać w ten sposób
możesz też dodać #, jeśli chcesz ("#myformid").
źródło