You need to sign in to do that
Don't have an account?
Rakhesh T
Not able to call "Remote Action method result" to Java Script function result.
Helloo....
I have created a VF page for a Controller with remote action method. I am not able to get the call back to javascript function and display the result in output text field of Page block section.Can anyone please help me resolve the issue. Please find VF code and Apex code below:
Apex Code:
public class RemoteFunction1CNTRL{
@RemoteAction
public static Account call(string accname){
Account acc = [select id,name,phone from Account where name=:accname];
return acc;
}
}
VF code:
<apex:page controller="RemoteFunction1CNTRL">
<apex:form id="fm">
<script>
function myfun(){
alert('Script function called');
var name = document.getElementById("{!$Component.pb1.it}").value;
alert('Searching for:'+''+name);
RemoteFunction1CNTRL.call(name,handleResponse,{escape:true});
function handleResponse(result,event){
alert('sobject:'+ result);
document.getElementById("{!$Component.pb2.sid}").innerHTML=result.Id;
document.getElementById("{!$Component.pb2.sname}").innerHTML=result.Name;
document.getElementById("{!$Component.pb2.sphone}").innerHTML=result.Phone;
}
}
</script>
<apex:pageBlock id="pb1">
<apex:inputText id="it"/>
<apex:commandButton value="Click" onclick="myfun();"/>
</apex:pageBlock>
<apex:pageBlock id="pb2">
<apex:outputText id="sid"/><br/>
<apex:outputText id="sname"/><br/>
<apex:outputText id="sphone"/><br/>
</apex:pageBlock>
</apex:form>
</apex:page>
I have created a VF page for a Controller with remote action method. I am not able to get the call back to javascript function and display the result in output text field of Page block section.Can anyone please help me resolve the issue. Please find VF code and Apex code below:
Apex Code:
public class RemoteFunction1CNTRL{
@RemoteAction
public static Account call(string accname){
Account acc = [select id,name,phone from Account where name=:accname];
return acc;
}
}
VF code:
<apex:page controller="RemoteFunction1CNTRL">
<apex:form id="fm">
<script>
function myfun(){
alert('Script function called');
var name = document.getElementById("{!$Component.pb1.it}").value;
alert('Searching for:'+''+name);
RemoteFunction1CNTRL.call(name,handleResponse,{escape:true});
function handleResponse(result,event){
alert('sobject:'+ result);
document.getElementById("{!$Component.pb2.sid}").innerHTML=result.Id;
document.getElementById("{!$Component.pb2.sname}").innerHTML=result.Name;
document.getElementById("{!$Component.pb2.sphone}").innerHTML=result.Phone;
}
}
</script>
<apex:pageBlock id="pb1">
<apex:inputText id="it"/>
<apex:commandButton value="Click" onclick="myfun();"/>
</apex:pageBlock>
<apex:pageBlock id="pb2">
<apex:outputText id="sid"/><br/>
<apex:outputText id="sname"/><br/>
<apex:outputText id="sphone"/><br/>
</apex:pageBlock>
</apex:form>
</apex:page>
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_js_remoting_configuring_request.htm
Hope this helps.
Regards,
Krishna.
All Answers
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_js_remoting_configuring_request.htm
Hope this helps.
Regards,
Krishna.
document.getElementById("{!$Component.pb2.sid}").innerHTML=result.Id;
document.getElementById("{!$Component.pb2.sname}").innerHTML=result.Name;
document.getElementById("{!$Component.pb2.sphone}").innerHTML=result.Phone;
is not working, donno the reason. can you please check it as well?
It may be because "{!$Component.pb2.sid}" is not working as you expect. Try getting the element by it's id as follows.
document.getElementById("sid").innerHTML = result.Id;
and check if that works.
Kind Regards,
Krishna.
document.getElementById("{!$Component.fm.pb2.sid}").innerHTML=result.Id;
Hope this helps.