You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@shale.apache.org by Ramineni Viswanath <vr...@yahoo.com> on 2006/07/17 10:58:15 UTC

Having problem in valuChangeListner event handling

Hi,

When I change the value in the selectOneMenu which has
an attached valueChangeListner, valueChangeListner
event on an inputText control is also getting fired.
This happens only the first time I submit after the
page is loaded. Subsequent submits work fine. I
couldn't figure out whether I am doing anything wrong.
Following is the code.. 

jsp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page
contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html"
prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"
prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk"
prefix="t"%>
<f:view>
	<html>
		<head>
			<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252" />
			<title>
				Select Test
			</title>
		</head>
		<body>
			<h:form id="frm001">
				<h:panelGrid columns="2" cellpadding="2"
cellspacing="0" border="0">
					<h:outputText value="List Code" />
					<h:inputText id="listcode"
binding="#{selecttest.listCode}"
valueChangeListener="#{selecttest.onListCodeChange}"
onchange="submit()" />
					<h:outputText value="List Type" />
					<h:selectOneMenu id="listtype"
binding="#{selecttest.listType}"
valueChangeListener="#{selecttest.onListTypeChange}"
onchange="submit()">
					</h:selectOneMenu>
				</h:panelGrid>
			</h:form>
		</body>
	</html>
</f:view>


Java:
package test;

import javax.faces.component.UISelectItem;
import javax.faces.component.html.HtmlInputText;
import javax.faces.component.html.HtmlSelectOneMenu;
import javax.faces.event.ValueChangeEvent;

import org.apache.shale.view.AbstractViewController;

public class SelectTest extends AbstractViewController
{

	    private HtmlSelectOneMenu _listtype = new
HtmlSelectOneMenu();
	    private HtmlInputText _listcode = new
HtmlInputText();

		public SelectTest() {
		}
		
		public HtmlInputText getListCode() {
			return this._listcode;
		}
		public void setListCode(HtmlInputText _listcode) {
			this._listcode = _listcode;
		}
		public HtmlSelectOneMenu getListType() {
			return this._listtype;
		}
		public void setListType(HtmlSelectOneMenu _listtype)
{
			this._listtype = _listtype;
		}
		
		public void onListCodeChange(ValueChangeEvent event)
{
			System.out.println("List Code changed");
		}
		
		public void onListTypeChange(ValueChangeEvent event)
{
			System.out.println("List Type changed");
		}
		
		@SuppressWarnings("unchecked")
		public void prerender()
		{
			super.prerender();
			if (!isPostBack()) 
			{
				UISelectItem item = new UISelectItem();
				item.setItemValue("");
				item.setItemLabel("");
				_listtype.getChildren().add(item);
				item = new UISelectItem();
				item.setItemValue("DV");
				item.setItemLabel("Discrete Values");
				_listtype.getChildren().add(item);
				item = new UISelectItem();
				item.setItemValue("QR");
				item.setItemLabel("Query Result");
				_listtype.getChildren().add(item);
				item = new UISelectItem();
				item.setItemValue("RV");
				item.setItemLabel("Range of Values");
				_listtype.getChildren().add(item);
			}
		}
	}



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Re: Having problem in valuChangeListner event handling

Posted by vramineni <vr...@yahoo.com>.
Actually, this seems to be more generic than what I mentioned in my original
post. When I submit the form first time, all valueChangeEvents are getting
fired even though I haven't changed values in any of these controls. The
initial view state seems to have 'null' as the control's value and on
submit, null is compared to "" and the valueChangeEvent is fired.
-- 
View this message in context: http://www.nabble.com/Having-problem-in-valuChangeListner-event-handling-tf1953599.html#a5372178
Sent from the Shale - User forum at Nabble.com.