17. WML Event: onenterforward

The onenterforward event is triggered when a user goes to a card in the forward direction. For example, if you go to a card by entering the URL directly or by following an anchor link of which the action is <go>, the onenterforward event will be triggered and the WML code associated with the event will be executed.

The onenterforward event will be useful to you if you want to do something before a card is displayed. For example, you need the onenterforward event if you want to assign a value to a variable before a card is displayed. (We will cover the usage of variables later in this WML tutorial.)

Another example is the calling of a WMLScript function when a card is loaded. Let's say you want to display a random number in your WML card. To do this, you can write a WMLScript function that generates a random number and assigns it to a variable. Then the function is placed in the onenterforward event handler. When the card is loaded, the function is called automatically and you can print out the variable value in the WML card.

Remember that the onenterforward event is not raised when you go backwards to a card. If a task has to be done every time a certain card is loaded, you need to place the task in the onenterbackward event handler in addition to the onenterforward event handler.

The following WML example demonstrates how to use the onenterforward event. We make use of the onenterforward and onenterbackward events to hide an intermediate card from the user.


(onenterforwardEg1.wml)

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">

<wml>
  <card id="card1" title="Onenterforward Test">
    <p>
      This is Card 1.<br/><br/>
      <a href="#card2">Next Card</a>
    </p>
  </card>

  <card id="card2" title="Onenterforward Test">
    <onevent type="onenterforward">
      <go href="#card3"/>
    </onevent>

    <onevent type="onenterbackward">
      <prev/>
    </onevent>
    <p>
      This is Card 2 (the intermediate card). It cannot be seen by users.
    </p>
  </card>

  <card id="card3" title="Onenterforward Test">
    <p>
      This is Card 3.<br/><br/>
      <anchor>
        <prev/>
        Go Back
      </anchor>
    </p>
  </card>
</wml>


If you view the above WML example in a WAP browser, you should see something like this:



Sony Ericsson T610


Sony Ericsson T68i


Nokia Mobile Browser 4.0


If you select the "Next Card" anchor link, the WAP browser will display Card 3. Card 2 is not shown because when the WAP browser loads Card 2, the onenterforward event is triggered and the WML code <go href="#card3"/> is executed, which brings you to Card 3.



Sony Ericsson T610


Sony Ericsson T68i


Nokia Mobile Browser 4.0


If you select the "Go Back" anchor link, the WAP browser will display Card 1. When you select the "Go Back" anchor link, you are actually brought back to Card 2. The onenterbackward event is triggered this time and the WML code <prev/> is executed, which instructs the WAP browser to go backwards. Hence, you will see Card 1 but not Card 2.



Sony Ericsson T610


Sony Ericsson T68i


Nokia Mobile Browser 4.0


Previous Page Page 30 of 50 Next Page


Feedback Form (ExpandCollapse)

What do you think about this web page?






(Optional) Please provide us more details. For example, suppose you select option 2 above, can you tell us specifically what information is missing? You can also suggest anything that can help us improve this web page.

(Optional) Your name:

(Optional) Your email address:

Please enter again to confirm:

Due to the amount of messages we received, we may not be able to reply to all messages.

A button for going back to the top of this page