Zmienna z JS do PHP

EH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Witam,

unikając Ajax'a chciałbym wysłać zmienną z JS do pliku PHP. Wymyśliłem więc taki sposób:

Kopiuj
var sound;
			function start()
			{
				if(confirm("Sound on page?"))
				{
				sound = true;
				document.getElementById("form").action = "fear.php?sound=true&";
				}else{ 
				sound = false;
				document.getElementById("form").action = "fear.php?sound=false&";
				}
			}
Kopiuj
<form id="form" method="get">
				<input type="text" name="value" id="in" placeholder=" Number" /> 
				<br /><input type="submit" id="send" value="Send!" />
			</form>

Problem polega na tym, że kiedy w formularzu wpiszę np. 8 submit odsyła do strony fear.php?value=6 pomijając zmienna sound.
Co robić i czy ten pomysł w ogóle wypali?
Pozdrawiam

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
1

Jeżeli wysyłasz dane w formularzu poprzez GET (method=GET - domyślnie tak jest) to nie możesz dodatkowo w adresie URL podawać tych parametrów, bo zostaną nadpisane. Zawsze. To nie na związku z javascriptem w ogóle.

Kopiuj
<form action="dupa.php?a=1">
<input name=b value=1 />
<input type=submit />
</form>

Takie coś wyśle przez GET jedynie wartość b.

Opcje są dwie:

  1. Albo zmieniasz metodę na POST, wtedy zmienna value poleci przez POST, a zmienna sound przez GET.
  2. Albo zrobisz sobie ukrytego inputa <input type=hidden name=sound value=0 /> i przez JS zmieniasz jego wartość np. tak: document.querySelector('#form [name=sound]').value = "1";

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.