netui:anchor Tag

<netui:anchor> Tag

The <netui:anchor> tag generates a link to another document or invokes an action method in the Controller file.

Syntax

<netui:anchor
    [accessKey="string_accessKey"]
    [action="string_action"]
    [formSubmit="boolean_formSubmit"]
    [forward="string_forward"]
    [href="string_href"]
    [id="string_id"]
    [linkName="string_linkName"]
    [location="string_location"]
    [onBlur="string_onBlur"]
    [onClick="string_onClick"]
    [onDblClick="string_onDblClick"]
    [onFocus="string_onFocus"]
    [onKeyDown="string_onKeyDown"]
    [onKeyPress="string_onKeyPress"]
    [onKeyUp="string_onKeyUp"]
    [onMouseDown="string_onMouseDown"]
    [onMouseMove="string_onMouseMove"]
    [onMouseOut="string_onMouseOut"]
    [onMouseOver="string_onMouseOver"]
    [onMouseUp="string_onMouseUp"]
    [page="string_page"]
    [style="string_Style"]
    [styleClass="string_Class"]
    [tabindex="string_tabIndex"]
    [tagId="string_tagId"]
    [target="string_action"] />

Description

The <netui:anchor> tag generates a link to another document or invokes an action method in the Controller file. The <netui:anchor> tag also supports JavaScript-based form submission and URL re-writing.

An anchor must have one of five attributes to correctly create the hyperlink:

Attributes

accessKeyThe keyboard navigation key for the element. The following values are not recommended because they are often used by browsers: A, C, E, F, G, H, V, left arrow, and right arrow
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

actionThe action method to invoke. The action method must be in the Controller file of the Page Flow directory.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

formSubmitBoolean. If formSubmit is set to true, and the <netui:anchor> tag is within a <netui:form> tag, then the form data will be submitted to the method named in the <netui:form> tag's action attribute.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

forwardThe logical forward name from which to retrieve the hyperlink URI.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

hrefThe URL to go to.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

idThe id attribute is deprecated, use the tagId attribute instead. The id attribute of the rendered HTML tag.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

linkNameAn internal place on the page to go to.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

locationLocation within the URI to visit.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

onBlurThe onBlur JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onClickThe onClick JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onDblClickThe onDblClick JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onFocusThe onFocus JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onKeyDownThe onKeyDown JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onKeyPressThe onKeyPress JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onKeyUpThe onKeyUp JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onMouseDownThe onMouseDown JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onMouseMoveThe onMouseMove JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onMouseOutThe onMouseOut JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onMouseOverThe onMouseOver JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

onMouseUpThe onMouseUp JavaScript event.
 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

pageThe page attribute is deprecated. The module-relative page URL to which this hyperlink will be rendered.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

styleThe style of the rendered HTML tag.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

styleClassThe class of the rendered HTML tag.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

tabindexThe tabIndex of the rendered HTML tag. This attribute determines the position of the rendered HTML tag in the sequence of tags that the user may advance through by pressing the TAB key.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

tagId

String value. Sets the id (or name) attribute of the rendered HTML tag. Note that the real id attribute rendered in the browser may be changed by the application container (for example, Portal containers may change the rendered id value to ensure the uniqueness of id's on the page). In this case, the real id rendered in the browser may be looked up through the JavaScript function getNetuiTagName( tagId, tag ).

For example, assume that some tag's tagId attribute is set to foo.

    <netui:textBox tagId="foo" />

Then the following JavaScript function will return the real id attribute rendered in the browser:

    getNetuiTagName( "foo", this )

To get a <netui:form> element and all of its children elements in JavaScript, use the same JavaScript function getNetuiTagName( tagId, tag ). For example, assume that there is a <netui:form> whose tagId attribute is set to bar.

    <netui:form tagId="bar" >

Then the following JavaScript function will return the <netui:form> element and its children (packaged as an array).

    document[getNetuiTagName( "bar", this )]

To retreive the value entered into a <netui:textBox> within the <netui:form> tag, use the following JavaScript expression.

    document[getNetuiTagName("bar", this)][getNetuiTagName("foo", this)].value

The second parameter ensures that the JavaScript function begins its search within the correct Portlet scope. Pass the JavaScript keyword this as the second parameter. For detailed information on using the function getNetuiTagName( tagId, tag ) see Using JavaScript in Page Flow and Portal Applications.

 
RequiredSupports runtime expression evaluationData bindable
NoYesNo

targetThe window target.
 
RequiredSupports runtime expression evaluationData bindable
NoNoNo

Sample

Submitting Form Data

In this sample, clicking on this anchor submits the form data and invokes the method submitForm.

      <netui:form action="formSubmit">
          Firstname:
          <netui:textBox dataSource="{actionForm.firstname}"/>
          Lastname:
          <netui:textBox dataSource="{actionForm.lastname}"/>
          <netui:anchor formSubmit="true">Submit</netui:anchor>
      </netui:form>

If the formSubmit attribute is set to true and no onClick attribute is set, the following JavaScript function will be written to the HTML page. This JavaScript function will be referenced by the onclick attribute of the generated anchor tag.

  function anchor_submit_form(netuiName, newAction)
  {
    for (var i=0; i<document.forms.length; i++) {
       if (document.forms[i].id == netuiName) {
          document.forms[i].method = "POST";
          document.forms[i].action = newAction;
          document.forms[i].submit();
       }
     }
  }

The JavaScript function will be invoked by the generated HTML anchor tag as follows:

 <a href="/WebApp/tagSamples/anchor/formSubmit.do" 
       onClick='anchor_submit_form("Netui_Form_0","/WebApp/tagSamples/anchor/formSubmit.do");return false;'>Submit</a>

Custom JavaScript Functions

It is possible to write a custom onClick JavaScript event handler that would do additional work, for example form validation, and still POST the form correctly. To accomplish this, add the custom JavaScript method to the page:

 function SubmitFromAnchor() 
 { 
   // implement custom logic here

   for(var i=0; i<document.forms.length; i++) 
   { 
     // submit to the action /aWebapp/formPost.do
     if (document.forms[i].action == "/aWebapp/formPost.do") 
     { 
       document.forms[i].method="POST"; 
       document.forms[i].action="/aWebapp/formPost.do"; 
       document.forms[i].submit(); 
     } 
   } 
 }
Then reference the JavaScript method from the <netui:anchor> tag:
 <netui:anchor formSubmit="true" onClick="SubmitFromAnchor(); return false;">Submit</netui:anchor>

Code Sample

[BEA_HOME]/weblogic81/samples/workshop/SamplesApp/WebApp/tagSamples/netui/anchor/

Related Topics

<netui:anchor> Tag Sample

How Do I: Define an Action That Forwards Users to Another Page?

<netui:form> Tag