JS zmienne do PHP

0

Czy mozna wyslac zmienne przez JS tak zeby zmienily sie zmienne w formie:

  • wywoluje wyslijPost() : uruchamiam formr i jednoczesnie przypisuje wartosc do value="jakisinput"
<form style="display:none;" id="test" action="nowastrona.php" method="POST"> <input type="hidden" value="jakisinput" name="i1"> </form>

[...] //W skrypcie JS::

<script type="text/javascript"> function wyslijPost() { document.getElementById('test').submit(); } </script>

[...] //wywolanie
< href="javascript:wyslijPost();" [...]>

0

Lepiej zastosować w formularzu zdarzenie OnSubmit z reguły, niż dodawać to do linku.

<form style="display: none;" id="test" action="nowastrona.php" method="POST" onSubmit="przyWysylaniu();">
<input type="hidden" value="jakisinput" name="i1" id="i1">
</form>
[...]
<script type="text/javascript">
function przyWyslaniu() {
  document.getElementById('i1').value = 'nowa_wartosc';
  return true;
}

function wyslijForm() {
  document.getElementById('test').submit();
  return true;
}
</script>
[...]
<a href="javascript: void(0);" onClick="wyslijForm();">Wyślij formularz</a>

Co zyskujesz przez OnSubmit? Masz pewność, że formularz ZAWSZE zostanie przetworzony przez JS jakim by to sposobem nie został wysłany. Przez procedurę przyWysylaniu() natomiast wartość inputu "i1" zostanie zmieniona z "jakisinput" na "nowa_wartosc".

0

Przede wszystkim, nie OnSubmit, tylko onsubmit.

No i nigdy nie masz pewności. Za to jest to najbardziej pasująca tutaj metoda, która zadziała w zdecydowanej większości przypadków, dla userów z włączonym js.

0

No chyba samo kliknięcie na link nic nie da, jeśli masz wyłączone JS. Mi chodziło o sam fakt zmiany inputu przy pomyślnej próbie wysłania formularza.

0

A czy mozna w JS podac nowa wartosc przy wywolaniu funkcji
cos jak: onsubmit=przyWysylaniu(zmienna)
a potem ja przypisac do zmiennej w formie?

0

Poczytaj podstawy JS... Ewentualnie można wywalić w ogóle event onSubmit i całą obsługą obciążyć funkcję wyslijForm(), albo w evencie onSubmit pobierać np. ze zmiennych globalnych te argumenty których chcesz użyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1