Wątek przeniesiony 2016-03-20 15:47 z Webmastering przez dzek69.

Tworzenie formularza w JS

0

Witam, może od razu podam kod to będzie wiadomo o co chodzi

<form method="post"action ="ustawPlan">
Podaj ile masz klas !UWAGA JESLI PODASZ NP LITERY PROGRAM MOZE ZWROCIC ZLY WYNIK!  </br>
<input type="text"name="ileK" id="ileK"/> </br>
Podaj ile przedmiotow ma miec kazda klasa !UWAGA JESLI PODASZ NP LITERY PROGRAM MOZE ZWROCIC ZLY WYNIK! </br>
<input type="text"name="ileP" id="ileP"/> </br>

<script>
	while(true) {
	   if(getElementById('ile') != NULL) {
		   
			var ile = getElementById('ile');

		   for(var i = 0;i<= ile;i++) {
			   
			   var LABELileGP =  document.createElement('div');
			   LABELileGP.innerHTML = "Podaj ile godzin w tygodniu ma  byc przedmiot nr. "+i ;
			   </script>
			   </br>
			   <script>
			   var ileGP =  document.createElement('input');
			   ileGP.name = "ileGP"+i ; 
			   ileGP.type = "text" ;
		   
		   
			   var LABELileNP =  document.createElement('div');
			   LABELileNP.innerHTML = "Podaj ile masz nauczycieli do  przedmiotu nr. "+i ;
			   
			   </script>
			   
			   <br>
			   
			   <script>
			   
			   var ileNP =  document.createElement('input');
			   ileNP.name = "ileNP"+i ; 
			   ileNP.type = "text" ;
		   }
		   break;
		}
	}
</script>
<input type = "submit" value = "wyslij"/>
</form>

Program ma służyć do tworzenia planu lekcji. Na razie to dopiero formularz ale część napisana w JS w ogóle się nie wykonuję.
Z góry dziękuje za pomoc

0

Nieskończona petla do sprawdzania formularza? WTF?

Poczytaj o obsłudze zdarzeń, poza tym odwołujesz się do id które nie istnieje, resztę pominę.

0

JS to nie PHP, nie możesz sobie otwierać i zamykać <script> mieszając go z markupem w pętlach.

0

Hmmm... masz strasznie dużo błędów... nie wiem od czego zacząć...

  1. while(true)
    czy chcesz tutaj zrobić swojego rodzaju pętlę czekającą na zdarzenia? to w js tak to nie działa
  2. if(getElementById('ile') != NULL)
    chcesz sprawdzić czy ktoś coś wpisał? to robisz to źle bo tutaj sprawdzasz czy masz element na stronie o id "ile" (swoją drogą nie masz, bo id= ileK)
  3. var ile = getElementById('ile');
    rozumiem, że chcesz pobrać liczbę, którą wpisze użytkownik? tak się tego nie robi, wpisz w google "value" to może ci się rozjaśni
  4. nie dziel kodu na kilka tagów <script></script> bo jeden nie "widzi" drugiego, więc i jego zmiennych
  5. true, false i null w js pisze się małymi literami
    itd itd

Przede wszystkim dwie rzeczy:
primo: naucz się korzystać z konsoli w przeglądarce
secundo: wejdź na https://developer.mozilla.org/pl/ i poczytaj najpierw jak działa język (tym bardziej, że JS jest dość specyficzny), a potem bierz się za kodowanie, bo w tym momencie tracisz czas Swój i nie tylko...

0

Przepraszam, znam tylko podstawy JS a to potrzebuje tylko do projektu PHP, czy teraz kod jest lepszy :

<script>
		
	   if(getElementById('ile').value != NULL) {
		   
		   var ile = getElementById('ile').value;

		   for(var i = 0;i<= ile;i++) {
			   
			   var LABELileGP =  document.createElement('div');
			   LABELileGP.innerHTML = "Podaj ile godzin w tygodniu ma  byc przedmiot nr. "+i ;
			   
			   var ileGP =  document.createElement('input');
			   ileGP.name = "ileGP"+i ; 
			   ileGP.type = "text" ;
		   
		   
			   var LABELileNP =  document.createElement('div');
			   LABELileNP.innerHTML = "Podaj ile masz nauczycieli do  przedmiotu nr. "+i ;
			  
			   
			   var ileNP =  document.createElement('input');
			   ileNP.name = "ileNP"+i ; 
			   ileNP.type = "text" ;
		   }
		   break;
		}
</script>

I jak czzekac na zdarzenie ?

0

Dalej nie zagląsz do konsoli... masz literówki, null napisane dużymi literami, Dalej nie zagląsz do konsoli... masz literówki, null napisane dużymi literami.
Przeglądarka sama wykrywa zdarzenia... ty musisz je jedynie obsłużyć przypisując je do poszczególnych elementów.

Użyj trochę google... http://kursjs.pl/kurs/events.html

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