Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Looppaava lomakesivu

smp [04.05.2006 17:11:57]

#

Miten sivulle saadaan "tutka", joka tietää mitkä kentät lomakkeessa on täytetty?

Eli: täytetään sen verran minkä halutaan lomakesivua 1.php ja tallennetaan tiedot painamalla nappula1:stä.

Sen jälkeen mentäisiin sivulle 2.php, jossa kannasta haettu ne tiedot niihin kenttiin, jotka täytettiin. Loput näytetään sellaisina, joita voi vielä täyttää. Tämän jälkeen voi tallentaa taas nappula1:llä.

Sivua 2.php voidaan täyttää siis monessa erässä ja tallentaa se aina nappula1:llä niin kauan kunnes painetaan nappula2:sta, jolloin kaikki täytetyt tai täyttämättömät kentät tallentuu kantaan ja tuloksia voi katsoa enää sivulla 3.php.

Voiko tällaista looppia tehdä php:llä ja miten?

Lebe80 [04.05.2006 17:23:46]

#

Eipä php:lla onnistu. JavaScript käyttöön:

Eli koodi tutkii antamiesi kenttien arvot (tässä vähintään 2 merkkiä), ja päättää sen mukaan annetaan submit-napille oikeutta toimia.

	<script language="JavaScript" type="text/JavaScript">
	function check_submit() {
		set_enabled = false;
		form_array = new Array();
		form_array[0] = "form_fname";
		form_array[1] = "form_lname";
		form_array[2] = "form_country";
		form_array[3] = "form_message";
		form_array[4] = "form_email";
		for (i=0;i<5;i++){
			my_item = form_array[i] ;
			my_length = document.getElementById( my_item ).value;
			if (my_length.length<2){
				set_enabled = true;
			}
		}
		document.getElementById("submit_btn").disabled = set_enabled;
	}
	</script>

edit:
Luinpas tarkemmin...
Php:lla siis pitää tarkistaa samalla tavalla kaikki nuo kentät, oli käyttäjällä javaScriptiä tai ei.

Php:lla täytyy vain käydä "seuraavalla" sivulla aina tarkistamassa kenttien arvot.

Yksi tapa on tehdä tuollainen taulu, jossa on listattuna kaikkien tarvittavien kenttien nimet, tarkistaa niiden arvot ja toimia tarvittavalla tavalla.

Meitsi [04.05.2006 18:59:48]

#

Iframe-purkalla onnistuu ilman JavaScriptiä, mutta tämän järkevyys on aika kyseenalainen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta