Form Builder

2010-12-31 23:43:16 Post #1 Comandeer

 
Nowy Rok najlepiej powitać nowym skryptem!
Dzisiaj będzie Form Builder z funkcją zapisu do pliku
http://wklej.org/id/448159/
Według mnie - pewnie tylko według mnie - przyśpiesza tworzenie formularzy. Wystarczy podać listę pól i tyle. A, no i trza stworzyć fieldset.
Przykład zastosowania?
<!DOCTYPE html>
	<meta charset="UTF-8">
	<title>Formularz</title>
	<h1>Przykładowy formularz</h1>
<?php
	require_once('Builder.class.php');
	try
	{
		$form=new helper_forms_Builder('index.php','post','kontaktowy','klasowy');
		$form->addFieldset('Ogólny','Drugi');
		$form->Ogólny=array
		(
			array
			(
				'tag'=>'input',
				'type'=>'text',
				'name'=>'testowy',
				'required'=>'required',
				'label'=>'Przykładowy'
			),
			array
			(
				'tag'=>'textarea',
				'name'=>'textarea',
				'label'=>'textarea',
				'id'=>'textarea_abc'
			)
		);
		$form->Drugi=array
		(
			array
			(
				'tag'=>'select',
				'name'=>'select',
				'label'=>'Jakiś select',
				'options'=>
				array
				(
					array
					(
						'value'=>1,
						'innerHTML'=>'Tekst opcji'
					)
				)
			),
			array
			(
				'tag'=>'button',
				'name'=>'submit',
				'type'=>'submit',
				'value'=>1,
				'innerHTML'=>'Wyślij'
			)
		);
		echo $form; //wyświetlamy formularz
		$form->save('form.html'); //zapisujemy do pliku
	}
	catch(Exception $e)
	{
		echo $e;
	}

Pragnę zauważyć, iż do fieldsetów wystarczy się odwołać po nazwie, tj. $obiekt->nazwa_fieldsetu. Co więcej, nie wiem jakim cudem, ale polskie litery działają
Zapewne się zapytacie po kij mi coś takiego. No cóż, nie chce mi się po prostu klupać tych wszystkich dl, dt, label itd., a tak to wrzucam i już. Poza tym robię se "Office Online" i pragnę mieć tam generator formularzy, a to jest jak ulał

2011-01-01 15:09:12 Post #2 korey

 
Fajnie by było gdybyś dawał przykłady online jak co działa

2011-01-01 23:02:34 Post #3 Comandeer

 
http://comandeer.boskaimpreza.pl/builder/
Mówisz masz

2011-01-03 07:16:03 Post #4 nospor

 
Szkoda tylko, że formularz napisałeś typowo pod siebie. Widać to chociażby po fieldsetach, które masz wymagane. Nie każdy tak chce mieć.
No i dodatkowo nie można mieć własnego "wzoru" formularza.
Sam kiedyś napisałem podobną klasę dla siebie. Szef mnie zjechał, że napisałem tylko pod siebie i musiałem przerabiać na ogólną Jak się potem okazało używaliśmy jej potem przez ładnych parę lat.

2011-01-04 19:15:46 Post #5 Comandeer

 
Fieldsety są wymagane przez specyfikację HTML - nie widzę problemu. Ale masz rację - klasa typowo pode mnie (tak to już jest jak się pracuje w jednoosobowym teamie developerskim ;D)

2011-01-05 07:12:58 Post #6 nospor

 
Ze niby jak nie będzie fieldset to html nie zostanie poprawnie zwalidowany?

2011-01-05 17:02:55 Post #7 Comandeer

 
W specyfikacji pisze wyraźnie, że wszystkie elementy formularza muszą znajdować się w elemencie blokowym. Teoretycznie idzie walnąć wszystko w diva czy poupychać w akapity, ale przecież po to powstał fieldset - nawet nazwa na to wskazuje. Podsumowując, odpowiedź na twoje pytanie to tak

Answer

Recently commented

  1. ShoutBox nospor
  2. ShoutBox Rafał
  3. ShoutBox nospor
  4. ShoutBox Rafał
  5. ShoutBox nospor
  6. ShoutBox Artur
  7. PHP South Coast conf... nospor

Categories

  1. wszystkie wszystkie komentarze all (1)