Zmienna z JS do PHP

0

Witam,

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

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&";
				}
			}
<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

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.

<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";

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