HTMLB .. Input field event handling..

Hi guys,
I have a input field htmlb in my jsp. I have to handle on blur event for this.. i.e if a user gives in somethin in the input field and once it looses focus, a event should get triggered. And probably in my case it will be helpful for me if I have this event handler method in the dynpage. For this kind of event handling what should I write in the followin tag
<htmlb:inputfield id="" value="" width=""> plz tell me a tag attribute which supports this event.
Regards,
PP.

Hi Priyanka,
                  You can get reference of your input field in JSP into DynPage. Do like this:
Declare input field in JSP
<hbj:inputfield id="input"  value="test">
In DynPage, get refernce of the input field
Wherever you want to trigger event
InputField myInputField =(InputField) getComponentByName("input");
myInputField.setClientEvent();
Hope this helps.
regards,
Siva
Note: If you get success, please post the solution before you close this thread.
Message was edited by:
        Siva Rama Krushna

Similar Messages

  • Webdynpro Development: On change of input field Event

    hi,
    Is there any event in Web Dynpro(Java), that chaught the event of change in an input field? ie, if I change the value of a perticular field, it will caught that event and populate another field accordingly.
    Thanks,
    Angshuman

    HI
    Use OnEnter property of the Input Field. Write the Event name you wanted to occur.
    As the user will enter into the field & press enter, the particular field, you wish to, will be filled automatically.
    Regards
    Chander Kararia

  • Event handler for dropdownlistbox how to determine selection ?

    Hello,
    As a newby in BSP programming, I'm trying to build a small application with a menu structure . This menu is defined in a page fragment and consists of dropdownlistboxes. The event handling is located in the main page which contains the page fragment.
    My problem is that I cannot get these dropdownlist boxes to work. The coding in the page fragment is :
    ==========================
    <htmlb:content>
      <htmlb:form>
        <htmlb:dropdownListBox id             = "myDropdownListBox1"
                                 tooltip        = "Tooltip for my DropdownListBox"
                                 onClientSelect = "alert('myDropdownListBox1')"
                                 onSelect       = "mySelect" >
            <htmlb:listBoxItem key   = "k1"
                               value = "MenuChoice1" />
            <htmlb:listBoxItem key   = "k2"
                               value = "MenuChoice2" />
            <htmlb:listBoxItem key   = "k3"
                               value = "MenuChoice3" />
            <htmlb:listBoxItem key   = "k4"
                               value = "MenuChoice4" />
            <htmlb:listBoxItem key   = "k5"
                               value = "MenuChoice5" />
            <htmlb:listBoxItem key   = "k6"
                               value = "MenuChoice6" />
          </htmlb:dropdownListBox>
        </htmlb:form>
    </htmlb:content>
    ==========================
    The event handler ( OnInputProcessing ) code is :
    ==========================
    CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
      DATA: event TYPE REF TO if_htmlb_data,
            ddlb_event TYPE REF TO CL_HTMLB_EVENT_SELECTION.
      event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
      IF event IS NOT INITIAL AND event->event_name =
                 'dropdownListBox'.
          ddlb_event ?= event.
        CASE event->event_id.
          WHEN 'myDropdownListBox1'.
            CASE ddlb_event->selection.
           WHEN 'k1'.
            .......( Contains other statements )
           WHEN 'k2'.
            .......( Contains other statements )
           WHEN 'k3'.
            .......( Contains other statements )
           WHEN 'k4'.
            .......( Contains other statements )
           WHEN 'k5'.
            .......( Contains other statements )
           WHEN 'k6'.
            .......( Contains other statements )
         ENDCASE.
        ENDCASE.
        ENDIF.
    ==========================
    I have tried several different event handlers including the example in the documentation of the dropdownlistbox HTMLB element, but in the event handler I don't know how to determine the selection made.
    I would appreciate it hugely if someone could give me an example how to do this ?
    With regards,
    Fred van de Langenberg

    Hello,
    Thanks for your answers & suggestions Subramanian, Ulli & Sebastian.
    I forgot the <htmlb:content> tags ( thanks Ulli ) and eventually I got things working with the following :
    Main page layout : dopdownlistbox element
       <htmlb:dropdownListBox
                id          = "Ddlb1"
                onSelect    = "OnInputProcessing" >
                selection   = "<%= selection1 %>"
            <htmlb:listBoxItem key   = " "
                               value = " "/>
            <htmlb:listBoxItem key   = "k1"
                               value = "k1" />
            <htmlb:listBoxItem key   = "k2"
                               value = "k2" />
            <htmlb:listBoxItem key   = "k3"
                               value = "k3" />
            <htmlb:listBoxItem key   = "k4"
                               value = "k4" />
            <htmlb:listBoxItem key   = "k5"
                               value = "k5" />
          </htmlb:dropdownListBox>
    Event handler
    CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
    IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
    Scenario 1: Read event from manager.
      DATA: event TYPE REF TO CL_HTMLB_EVENT.
      event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
      IF event IS NOT INITIAL AND event->name = 'dropdownListBox'.
        DATA: data TYPE REF TO CL_HTMLB_DROPDOWNLISTBOX.
        data ?= CL_HTMLB_MANAGER=>GET_DATA(
                  request = runtime->server->request
                  name    = 'dropdownListBox'
                  id      = 'Ddlb1'
         CASE data->selection.
           WHEN 'k1'.
           WHEN 'k2'.
           WHEN 'k3'.
           WHEN 'k4'.
           WHEN 'k5'.
         ENDCASE.
       ENDIF.
    ENDIF.
    Fred van de Langenberg

  • Dynpro: event handling on input field in custom control?

    Hello,
    can I  put an input/output Field in Custom Control?
    I have seen this (DD_ADD_FORM_INPUT) but i dont need a Form.
    What i want to do is: Double Click Event handling on the input field in the custom control.
    Thank you?

    Hi Mohi,
    OK, you could reduce DD_ADD_FORM_INPUT to what you really need - but the DD elements (rarely if ever used in standard SAP) do not have a double-click event. Must stick to ENTER.
    An alternative is a text_edit or an editable grid_control with one line one field.
    The problem is: There is no way to put any selection-screen element on a control.
    I's go for the grid approach as you certainly may have some more fields of interest.
    Regards,
    Clemens.

  • Event handling using htmlb

    Hi,
    I am creating a small bsp application where I have Test.htm and error.htm pages. Test.htm page contains a button which when clicked should traverse to the second page which does not occur. Then code I have for the event handling is given below.
    CLASS cl_htmlb_manager DEFINITION LOAD.
    IF event_id = cl_htmlb_manager=>event_id.
      DATA: event TYPE REF TO cl_htmlb_event.
      event = cl_htmlb_manager=>get_event( runtime->server->request ).
      IF event->name = 'button' AND event->event_type = 'click'.
    <b>    DATA: button_event TYPE REF TO cl_htmlb_event_button.
        button_event ?= event.
    </b>
      ENDIF.
        CASE event->id.
          WHEN 'mybutton'.
            navigation->next_page( 'ERROR' ).
          WHEN OTHERS.
        ENDCASE.
    ENDIF.
    Also please explain me the lines of code given in bold fonts.
    Regards
    Noufal

    hi Noufal,
    The difference is that :
    When you are not using HTMLB library but using simple HTML buttons ussing <INPUT TYPE = BUTTON > then
    to capture that event you should use
    onclick = OnInputProcessing(button_id)  ,
    where "button_id" is the value in "event_id" variable in "OnInputProcessing" Event.
    But if you are using HTMLB then no need for this .
    Just use :
    onClick = "button_id"
    where "button_id" is the value you can capture in event_id attribue of an object that belongs to CL_HTMLB_EVENT class.
    For ex :
    data event type ref to CL_HTMLB_EVENT.
    event->event_id = "id of the element that has generated  
                       the event, and in this case button_id".
    I hope this will solve all your issues.
    Regards,
    Ankur

  • Input value given on web page is not getting pickedup in event handler

    Hi friends,
    I have created one simple page in SE80 with program with flow logic option, in which I would like to show business partner details from BUT000 table with the input of partner number. But the thing is the input value(partner no.)which I am giving on web page is not getting picked up in selection in event handler though I am giving input value it is becoming initial while selecting. What could be the reason?
    Below I am mentioning the code which I have written in even handler for OnInputProcessing event.
    CASE EVENT_ID.
    WHEN 'select'.
    NAVIGATION->SET_PARAMETER( 'partner' ).
    SELECT * FROM but000 INTO TABLE I_but000 WHERE partner BETWEEN partner AND partner1.
    WHEN OTHERS.
    ENDCASE.
    Thanks in advance,
    Steve

    Hi Abhinav,
    I tried with the one you posted. But it is giving run time error as shown below.
    Note
    The following error text was processed in the system CRD : Access via 'NULL' object reference not possible.
    The error occurred on the application server crmdev_CRD_00 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: ONINPUTPROCESSING of program CLO24DDFJW575HVAQVJ89KWHEHC9OCP
    Method: %_ONINPUTPROCESSING of program CL_O24DDFJW575HVAQVJ89KWHEHC9OCP
    Method: DO_REQUEST of program CL_BSP_PAGE===================CP
    Method: ON_REQUEST of program CL_BSP_RUNTIME================CP
    Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_HTTP_EXT_BSP===============CP
    Method: EXECUTE_REQUEST_FROM_MEMORY of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    Regards,
    Steve

  • How to get a form field valud in delete PL/SQL Button Event Handler

    Hi Friend,
    I have a form. when user clicks delete button. we want to remove system dodelete function
    and add a delete script
    Under delete-top category,
    how can I get value of form EVENT_NUMBER field in form at delete PL/SQL Button Event Handler?
    DELETE FROM PTEAPP.PTE_EVENTS WHERE eventnumber = EVENT_number
    But when I try to save this form and get message as
    1721/15 PLS-00201: identifier 'EVENT_NUMBER' must be declared
    Thanks for any help!
    newuser

    I did something similar but wasn't using a stored procedure. Couldn't you set a flag variable once you know you're not doing the insert and in the "before displaying the form" section put an IF to check if your flag was set, and if so do an HTP.Print('You are overpaid buddy!');
    Then just reset your flag.

  • Post Process Event Handler not getting user's CURRENT_STATE for a UDF field

    I have a post process event handler in OIM R2 BP04 , which runs on Trusted Reconciliation and it compares user's ("CURRENT_USER") state and ("NEW_USER_STATE") and based on that derives a business logic.
    The problem that i am  facing is that, it is not able to get the User's ("CURRENT_USER") state for a UDF(EMAIL_LIST) field and it is coming as null,and  hence is breaking the business logic.The same Event Handler is working on TEST and QA ( 4 node cluster)environments and is not working on PROD environment( 4 node cluster).
    The different thing that was done on was that during the initial recon the event Handler was not present  and after the initial load of the users i have manually executed the database sql query which have updated the "EMAIL_LIST field manually for all the users
    I think  that since during the initial recon as the  EMAIL_LIST was not populated and was  populated  through the SQL update for all the users, the orchestration inter event data does not contain email list, and so it is coming as null.
    But i am seeing the same behavior for new records as well, which are created and  then updated after event handler is registered.
    Please reply, if you have encountered something similar.
    Thnx
    Akshat

    Yes i need the old state, which is
                        Identity[] oldUserStatesIdntArr =
                            (Identity[])(Identity[])interEventData.get("CURRENT_USER");

  • Event handler for a text field

    How do I write an event handler that will be triggered when the value of a text field changes? I assume I can place an event in place of SOME EVENT HERE in the example below.
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:Script>
            <![CDATA[
                private var newVal:Number=1
                public function doThis():void{
                    newVal+=1
                    goal1.text=String(newVal)
                    //goal1.addEventListener(SOME EVENT HERE, textChange)
                public function textChange():void{
                    trace("text changed")
            ]]>
        </mx:Script>
        <mx:Text id="goal1" color="#57782f" fontSize="30" text="1"  x="106" y="110"/>
        <mx:Button x="88" y="169" label="Button" click="doThis()"/>
    </mx:Application>

    "Text" does not dispathc a change event, so use a TextArea tweaked as follows.
    If this post answered your question or helped, please mark it as such.
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:Script>
            <![CDATA[           
                private var newVal:Number=1
                public function doThis():void{
                    newVal+=1
                    goal1.text=String(newVal)
                    goal1.addEventListener(Event.CHANGE, textChange)
                public function textChange():void{
                    trace("text changed")
            ]]>
        </mx:Script>
        <mx:TextArea id="goal1" color="#57782f" fontSize="30" text="1"  x="106" y="110"
         focusThickness="0" borderThickness="0" backgroundAlpha="0"/>
        <mx:Button x="88" y="169" label="Button" click="doThis()"/>
    </mx:Application>

  • Enter-Event on an "Input Field"

    Hello Community...
    i would like to trigger an event on an Input-Field in my Form. When I enter a value and press "Enter" the value should be given via an output signal to another iView. What kind of event do I have to choose to achieve that? I chose a Custom Action, but the value was passed to the output signal when I left the field.
    Greetz, Jochen

    Hi Jochen,
    As per your requirement:
    " When I enter a value and press "Enter" the value should be given via an output signal to another iView"
    press Enter means u want to have a button in the form along with the input field. Am I correct?
    If so then why to give action in the input field.
    "I chose a Custom Action, but the value was passed to the output signal when I left the field"
    Beacuse If you will give the event in input field then when you will fill the value in the input field that action will be triggered.
    Better to give the action in the button if you want to press and then event has to be triggered.
    Go to the Button property--give system action--as submit.
    Then to pass data between the iviews you must have used signal out and signal in.
    Regards,
    Nutan

  • Event handler for STDIN input?

    Hi,
    This question will probably require a bit of context - I'm attempting to re-implement in java an application that's currently written in perl. The application is a server helper app that rewriters urls; it receives a request ID and a URL on stdin, does the necessary munging (which can require an external SOAP query), then returns the resulting rewritten URL.
    Since the results can be asynchronous due to the need for external queries to build the result, this is currently a multithreaded perl app implemented using perl's POE framework to register an event handler for stdin. That handler fires each time a line of input is received, then feeds the query to a thread pool manager (POE::Component::Pool::Thread, which is conceptually similar to the Executor frameworks). The thread returns the result as a callback registered to another function in the main thread, which then populates the query/result to a cache then outputs the result (with the original query ID) on stdout. Since stdin input and the result callbacks are event-driven, there's no while(true) main loop or other blocking mechanism in the main thread. Unfortunately, it's perl-ness is causing problems due to perl's threading implementation (three words: "copy on init"), so we need to reimplement in a language with a more robust threading implementation (preferably one with copy-on-write for shared objects). So, Java it is.
    So far everything's been good - Executor, Callables, and Futures work as I hoped they would for proper thread management, and the internal worker thread logic (XML processing, SOAP, regular expressions, etc) is proving rather simple to adapt. However, the main roadblock I'm hitting is that so far, I have not found a way to register any sort of event handler for STDIN input (or more specifically, InputStreamReader/BufferedStreamReader events). This could be due to search engine pollution - everything I see when I search for documentation on event listeners appears to be GUI-specific (buttons, menus, text areas/forms, etc). I'm just looking for a way to handle a line of STDIN, not a text area on a form.
    Any pointers in the right direction will be much appreciated!

    rekoil wrote:
    Maybe I need to rethink the design here...
    The main reason I used a callback in the original perl is that there's a large cache structure that gets checked before the thread dispatch, and only cache misses get pushed to a thread for processing. Callbacks from the threads will then add its results to the cache. Thanks to perl's thread model, when I attempted to make the cache a shared structure - in perl, you have to explicitly mark as "shared" variables that you want visible to all threads - the structure wound up getting copied to every thread, and this gave the app an unacceptable memory footprint. So the solution was to use a callback in the main thread to update the cache.
    I'm now thinking that if Java's thread model is a bit saner (i.e. a shared object doesn't get copied into every thread), then I could just have each thread update the cache, print its output to STDOUT directly, and avoid the need for the callback. I can then make my input loop simply a while() loop, waiting for the next input to dispatch. Sound sane?Yes I think so.
    There is some of this I still don't entirely understand. Your loop sounds better now but it sounds to me like the process is this.
    1) read from in
    2) call some stuff on the basis of what came in
    3) do work
    4) workers produce things
    5) things written back out
    6) read back in??
    If you're just going in/out then great. If you are going in/out/in then maybe some sort of PipedInput/Output Streams? It may well be that I got lost in your explanation in which case never mind.

  • Input Field in table - I need a OnClick Event

    Hello everybody,
    I have the following problem:
    I have created a table in my view which is filled at runtime. The table has 3 different rows and every row has TableSingleMarkableCells, these cells further have a input field as their celleditor.
    I now want to know which cell the user is editing. I have a AttributePointer through which I know that at the time the user presses the enter key. But I need to know whether the focus has changed. Because there is the possibility that the user switches between the differnt cells with the arrow key or the tab key. But the AttributePointer only gives me the first selected cell.
    Have anybody a suggestion to solve this problem -  it seemed to be something like definingb a OnClick event for a input field (additionaly to the default OnEnter event...)
    Best regards,
    Sebastian

    Hi,
    You can find out at which row the editing goes, by using
    onLeadSelect action of TableUIElement.
    in onLeadSelect action you can find row number using this statement
    int rownumber= wdContext.node<TableNode>().getLeadSelection();
    Regards
    LakshmiNarayana

  • Event for value change of an input field

    Hello,
    I'm a newbie in WD4A.
    I've got a input field. Is there a event that's fired, if the value of an input field is changed?
    Regards Christian

    No.  There is only an event when the user presses enter.  You can check the online help for all events of all UI elements.
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/d7/ef8841e3af1609e10000000a155106/frameset.htm
    In 7.02 there is an AJAX based change event on the inputField, but it is not available as a normal WD Event. It instead triggers the attached SearchHelp without the WD Phase Model.  This is the new SuggestValues feature in 7.02.

  • Input field validation using JSP in HTMLB

    Hi All,
    How can we validate an input field in a form in BSP page.
    Like: There are two input fields in my form.I want the user to enter value in any one and only one of the fields.If the value is entered in both fields or none of the fields the user should get a popup and form  must not be submited.
    Shall i use the onClientClick attribute of Button element or doValidate attribute of Inputfield element or  validationScript attribute of From element?
    Please help.
    Thanks a lot,
    Anubhav.

    Here you go:
    <%@page language="abap" %>
    <%@extension name="htmlb" prefix="htmlb" %>
    <htmlb:content design="design2003" >
      <htmlb:page title=" " >
        <htmlb:form id="form1" >
          < script t-ype = "text/javascript" >     "Remove "-" between t & ype in type
          function checkInput()
           var field1 = document.form1.field1.value;
           var field2 = document.form1.field2.value;
    var error = "";
    if(field1 != "" && field2 != "")
              { error = "X";
                  javascript error message here          }
    if(field1 == "" && field2 ==  "")
              { error = "X";
                                javascript error message here
    if(error == "")
              htmlbSL(this,2,'mybutton:Submit');
          < / script >
              <htmlb:textView text      = "Hello World!"
                              textColor = "RED"
                              design    = "HEADER1"
                              align     = "CENTER" />
              <htmlb:inputField id        = "field1"
                                value     = "<%= var1 %>"
                                type      = "integer"
                                alignment = "CENTER" />
              <htmlb:inputField id        = "field2"
                                value     = "<%= var2 %>"
                                type      = "integer"
                                alignment = "CENTER" />
              <htmlb:button id            = "mybutton"
                            text          = "Press Me"
                            onClientClick = "javascript:checkInput();" />
        </htmlb:form>
      </htmlb:page>
    </htmlb:content>
    Raja T
    Message was edited by:
            Raja Thangamani

  • Automatic Event Fire on every entry in Input Field

    Dear All,
    Here i have a scenerio, I am using barcode reader application. After reading the barcode from barcode machine, , numeric value eg  '1234567890' is automatically displaying in my input field. After that I have to call my RFC according to every entry in that field.
    Mean to say as the value comes to the input field , automatically my next view should be called where i am displaying the detail of particular employee having I card of that barcode.
    So is there any possibility in Webdynpro Java to fire an event automatically on every entry?
    Kindly help me out.
    Thanks & Regards
    Nivedita

    Dear Monalisa,
    Thanks for your quick response (SDN was down so i could not reply back). But as i explained earlier, my application is not for mobile barcode reader. Its for normal Id card Barcodes. Mobile Barcode Reader requires 2 types of barcode reader equipments and link given by you is explaining that proccess only.
    Here I am able to read the data from barcode Reader. But after reading data i need to generate any automatic event. I dont want to use any submit button or Enter key action. I want that as the value comes to my input field ,automatically it should go to database. webynpro does not support Javascript as per my knowledge.
    Kindly suggest something.
    Thanks & Regards
    Nivedita

Maybe you are looking for