2

I have this HTML - its a button placed at the end of a search box:

<input type="image" name="submit" id="searchSubmit" src="images/searchGif.gif" border="0" />

How do I attach a Controller action to it and what is the VF equivalent of this html?

1

2 Answers 2

8

So if you want to work with a "plain" HTML (for example to reduce the page view state size) you can use JavaScript Remoting controls or just attach an action function to your button:

<input type="button" name="submit" id="searchSubmit" onclick="doSomething();"/>

<apex:actionFunction name="doSomething" action="{!myApexMethod}" reRender="somePanel"/>
1
  • Thanks, I followed your example and it worked. Now I need to get the text from the other input field of type text to my search method on the controller. What is the right way to do it?
    – Dedo
    Dec 14, 2012 at 18:38
5

Use an apex:commandButton with the image attribute set to the URL of the image that you want to display.

    <apex:page controller = "CustomControllerClass" >
......
        <apex:commandButton action="{!search}" image="images/searchGif.gif" id="theButton"/>

You may have to specify the full url to the image, depending on where you're holding the image.

You will then need to create a controller class (or extension, as the case may be), which your page is associated with and declare an action method (return type PageReference), which can then be bound to this button

public class CustomControllerClass{

public PageReference search(){
//execute logic here
    }
}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .