You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by strutting <la...@gmail.com> on 2008/02/05 09:37:37 UTC

Dynamic (variable) Form

Hi All,

I have a problem when creating the action of a form: this form is generated
dynamically using ajax and javascript depending on how the user fill in the
form. In this form there are checkboxes, comboboxes and textfields (a
variable number). And I don't know how to pick the values of each element of
the form.

Here is some code of the form:


<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

	<head>
		<title>ARS - Is Available Form</title>
		<s:head theme = "ajax"/>
		<link href="<s:url value="/css/mainstyle.css"/>" rel="stylesheet"
type="text/css"/>
		<link rel="STYLESHEET" type="text/css"
href="rich_calendar/rich_calendar.css">
		<script language="JavaScript" type="text/javascript"
src="rich_calendar/rich_calendar.js"></script>
		<script language="JavaScript" type="text/javascript"
src="rich_calendar/rc_lang_en.js"></script>
				 
		<script language="javascript" type="text/javascript">
			// on click -> disable/enable the jobID textfield
			function insertJobID()
			{
				if (document.formreservation.jid.disabled == true)
				{
					document.formreservation.jid.disabled = false
				}
				else
				{
					document.formreservation.jid.disabled = true
				}
			}
			
			// onkeyup -> create a DIV for each service
			function addDivsServices(event)
			{
				divservices = document.createElement('div');
				divservices.id = 'divservices';
				divservices.style.border = "solid #00bfff 3px";
				divservices.style.padding = "5px";
				(document.getElementById('formreservation')).appendChild(divservices);
					
				for(i = 0; i < numS; i++) 
				{							
					//THE DIV OF THE SERVICE -> name: 'divservice' + i
					divservice = document.createElement('div');
					divservice.id = 'divservice' + i;
					divservice.style.border = "solid #00cd00 3px";
					divservice.style.padding = "5px";
					divservice.appendChild(document.createElement('br'));
					
					//SERVICE ID
					txt = document.createTextNode('Service ID: ');
					serviceid = document.createElement('input');
				    serviceid.name = 'serviceid' + i;
				    divservice.appendChild(txt);
				    divservice.appendChild(serviceid);
				    
				    //SPACE
				    space = document.createTextNode("\u00a0");
				    divservice.appendChild(space);
					
					//COMBOBOX TYPE OF RESERVATION
					txt = document.createTextNode('Type of Reservation: ');
					cbx = document.createElement('select');
					cbx.name = 'tor' + i;
					
					opt = document.createElement('option');
					opt.value = '1';
					opt.text =  '1';
					cbx.appendChild(opt);
					
					opt = document.createElement('option');                     
					opt.value = '2';
					opt.text =  '2';
					cbx.appendChild(opt);
					
					opt = document.createElement('option');                     
					opt.value = '3';
					opt.text =  '3';
					cbx.appendChild(opt);
					cbx.onchange = addReservationConstraints;
									
					divservice.appendChild(txt);
					divservice.appendChild(cbx);
					
					//NEW LINE
					divservice.appendChild(document.createElement('br'));
					divservice.appendChild(document.createElement('br'));
					
					[...]	
				}
			}
			
			[...]
		</script>
	</head>
	
	<body>
		<h1> Is Available </h1>
		<br>
		<s:form name = "formreservation" id = "formreservation" action =
"isAvailable" method = "POST">
			<s:checkbox label = "Is a PRE reservation? " name = "ispre" value =
"false" onclick = "insertJobID()"/><br>
			<s:textfield name = "jid" label = "Job ID" disabled = "true"/><br>
			<s:textfield name = "numservices" label = "Number of services" onkeyup =
"addDivsServices(event)"/><br>
			<s:submit value = "Submit" align = "center"/>			
		</s:form>
	</body>
</html>

Can somebody help me?

Than you!!!
-- 
View this message in context: http://www.nabble.com/Dynamic-%28variable%29-Form-tp15285622p15285622.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org