mam zadanie w javascript "mam problem z 2 punktem" nie wyświetla poprawnie daty

0
<!DOCTYPE html> <head> <meta charset="UTF-8"> <style> #grad1 { height:860px; background-color: red; background-image: linear-gradient(to bottom right, red, yellow); } input { width: 20%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; border: 2px solid red; border-radius: 4px; } #Oblicz, dzialanie { width: 20%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; border: 2px solid red; border-radius: 4px; background-color: #3CBC8D; } #dzialanie { width: 20%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; border: 2px solid red; border-radius: 4px; background-color: #3CBC8D; } h1{ color:blue; font-family: verdana; font-size: 300%; } </style> </head> <body>

Wprowadź date w formacie: YYYY-MM-DD

		<h2>Obliczanie ilości dni podając dwie daty:</h2> <br>
	Podaj pierwszą datę <input id="from"><br>
	Podaj drugą datę <input id="to"><br>
	<input type="button" id="Oblicz" value="Oblicz">
	<p id="dni"></p>
	
	<script>
			document.getElementById('Oblicz').onclick = function() {
			var from = Date.parse(document.getElementById('from').value);
			var to = Date.parse(document.getElementById('to').value);
			
			document.getElementById('dni').innerHTML=Math.round((to-from) /1000 /60 /60 /24);
			}
		
	</script>
	
	
	
		<h2>Obliczanie daty podając datę początkową i ilość dni do dodania: </h2><br>
	Początkowa data<input id="jeden"  ><br>
	Ile dni chcesz dodać<input id="dni"><br> 
	<input type="button" id="dzialanie" value="Dodaj">	
	<p id="data"></p>
	
	<script>
			document.getElementById('dzialanie').onclick = function() {
		  var aaa = new Date(document.getElementById("jeden").value);
		  var bbb = parseInt(document.getElementById("dni").value);
		  var ccc = new Date();
		  var ddd = ccc.getTime((parseInt((aaa.getTime())/1000 /60 /60 /24)) + bbb*1000 *60 *60 *24);
		  var eee = ccc.toDateString();
		  document.getElementById('data').innerHTML = eee;
		}
	</script>
</div>		
		
</body>
1

W pierwszym punkcie masz document.getElementById('dni') ,które zwraca Ci input o id "dni" z drugiego punktu. Jeżeli to do niego chcesz wpisać wynik, to lepiej odwołać się przez .value, wtedy cały przykładowy kod wpisania wartości do tego pola to
document.getElementById('dni').value = Math.round((to-from) / 1000 / 60 /60 /24) . Jeżeli chciałeś po prostu wyświetlić, (zamiast wpisywać do inputu) to musisz sobie dodać jakiś element (np. span) o własnym ID i do niego wpisać wartość (niżej napisane jak to zrobić nie używając innerHTML)

W drugim punkcie próbujesz się odwołać do tagu o id="data", ale tagu o takim id w ogóle nie ma w dokumencie. Musisz taki dodać, a wtedy po kliknięciu przycisku pojawi się tam wynik.

Przy okazji - jeżeli zadanie to umożliwia - zaznajom się z <input type="date">. Może Ci uprościć cały kod i przetwarzanie dat.
Niebezpieczne jest też używanie innerHTML, w przypadku prostego tekstu lepiej użyć .textContent, np. document.getElementById("data").textContent = eee

Poza tym do samego kodu sporo uwag, ale to powinno wystarczyć jako odpowiedź na Twoje pytanie

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