Wątek przeniesiony 2015-01-06 13:54 z Webmastering przez dzek69.

Pobieranie dynamicznej wartości z pola input

0

Witam. Mam problem z pobraniem wartości z pola input. Działa tylko dla pierwszej opcji dynamicznie, dla pozostałych pozycji pobiera tylko domyślną wartość value, nie reaguje na zmiany.
Proszę o jakieś wskazówki co robię nie tak.

Generalnie jakby nie działało rzutowanie na floata.
Tak jak jest teraz dla promienia działa ok, jak zmienię wartość zmienia się ona dynamicznie.
Jednak przy tym samym dla rzutowania na floata nie działa dynamiczna zmiana wartości później.

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Multimedia zadania z laboratorium 3</title>
	<meta name="keywords" content="serwisy, internetowe, programowanie" />
	<meta name="description" content="Strona utworzona w ramach przedmiotu: Multimedia" />
	<meta name="author" content="Wasiela Michał" />
	<link rel="Stylesheet" href="styl.css" type="text/css" />
</head>
<body>
<p>Multimedia</p>
<p>Zadanie prześciowe</p>
<div id="divek">
<!--Kolor pierwszy wybór -->
<p><label for="kolor1">Pierwszy kolor: 
<select name="kolor1" id="kolor1">
		<option value="green">green</option>
		<option value="blue">blue</option>
		<option value="red">red</option>
		<option value="yellow">yellow</option>
		<option value="magenta">magenta</option>
		<option value="orange">orange</option>
		<option value="brown">brown</option>
		<option value="purple">purple</option>
		<option value="pink">pink</option>
</select>
</label></p>
<!--Kolor drugi wybór -->
<p><label for="kolor2">Drugi kolor: 
<select name="kolor2" id="kolor2">
		<option value="green">green</option>
		<option value="blue">blue</option>
		<option value="red">red</option>
		<option value="yellow">yellow</option>
		<option value="magenta">magenta</option>
		<option value="orange">orange</option>
		<option value="brown">brown</option>
		<option value="purple">purple</option>
		<option value="pink">pink</option>
</select>
</label></p>

<!--Przyciski-->
<p><label for="promien">Promien: </label>
<input id="promien" type="number" name="promien" min="20" max="100" step="1" value="50" title="Podaj promien"/><p>


<p><label for="grawitacja">Siła grawitacji: </label>
<input id="grawitacja" type="number" name="grawitacja" min="0" max="1" step="0.1" value="0.2" title="Podaj siłe grawitacji"/><p>

<p><label for="wspolczynnik_odbicia">Wspolczynnik odbicia: </label>
<input id="wspolczynnik_odbicia" type="number" name="wspolczynnik_odbicia" min="0" max="10" step="0.1" value="0.7" title="Podaj wspolczynnik odbicia"/><p>


<p><button onclick="start()">Start</button>
<button onclick="stop()">Stop</button>
<button onclick="wyczysc()">Wyczysc</button></p>

</div>


		<script type="text/javascript">
			
			var promien = document.getElementById("promien");
			var promienR = parseInt(promien.value);
			
			
			var grawitacja1 = document.getElementById("grawitacja");
			var grawitacja = parseFloat(grawitacja1.value);
			var wspolczynnik_odbicia = parseFloat(document.getElementById("wspolczynnik_odbicia").value);
			
			function start(){
			window.alert(promien.value);
			window.alert(promienR.value);
			window.alert(grawitacja);
			window.alert(wspolczynnik_odbicia);
			
			}
		</script>




</body>
</html>


1

do promien i promienR zapisujesz obiekty. obiekty są dynamiczne. odczytując wartość z obiektu - zawsze będziesz miał aktualną wartość

do grawitacja i wspolczynnik_odbicia zapisujesz wartość. wartość jest już statyczna, jest stringiem, nie obiektem. jak raz została zapisana - taką zostanie. wyświetlając ją za każdym razem - zawsze będzie taka sama.

0

Rozumiem dzięki. Już to opanowałem i działa jak należy.

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