<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright 2004 The Apache Software Foundation
  
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<!-- $Id: Submit.jwc,v 1.2 2003/03/17 18:10:48 hlship Exp $ -->
<!DOCTYPE component-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<component-specification class="org.apache.tapestry.form.LinkSubmit" allow-body="yes">

  <description>
  Creates a hyperlink that submits its enclosing form using JavaScript.
  </description>

  <parameter name="listener" 
  	type="org.apache.tapestry.IActionListener" 
  	direction="in">
  	<description>
	    The listener is invoked during the rewind as the link component is encountered.  This is
	    both attractive and dangerous when combined with a form.  When the listener is
	    invoked, the form has not completely rewound, so not all form values have necessarily
	    been processed, so the listener might be performing its logic based on inconsistent
	    data.
  	</description>
  </parameter>
  	
  <parameter name="disabled" type="boolean" direction="in"/>
  <parameter name="selected"/>
  <parameter name="tag" type="java.lang.Object" direction="in"/>

  <reserved-parameter name="name"/>
  <reserved-parameter name="href"/>

  <property-specification name="name" type="java.lang.String"/>
  <property-specification name="form" type="org.apache.tapestry.IForm"/>  
  
</component-specification>