You need to sign in to do that
Don't have an account?
Alert Box for Different error
hi,
Following is the Controller and VF page Code:
public class ParentChildActivity{
public final task t1;
public final task o;
public String trn;
public String taskIdDemo;
public String ActivityTRN{get;set;}
public Boolean errorAlert{get; set;}
public Integer flag{get; set;}
List<Task> taskObjects=new List<Task>();
public ParentChildActivity(ApexPages.StandardController stdController)
{
this.o= (Task)stdController.getRecord();
taskIdDemo=o.Id;
t1=[Select Activity_TRN__c,Id from Task where id=:o.Id];
System.debug('Task Id is '+ t1.Id);
}
public void settrn(String xTRN)
{
trn=xTRN;
}
public String gettrn()
{
return trn;
}
public PageReference searchAndUpdate()
{
for(Task t: [Select Id,Activity_TRN__c,Parent_Activity_TRN__c from Task where Activity_TRN__c=:TRN])
{
System.debug('Task Id is in SearchAndUpdate'+t.Id);
System.debug('Activity TRN is'+t.Activity_TRN__c);
System.debug('Parent Activity'+t.Parent_Activity_TRN__c);
if(t1.Id!=t.Id && t1.Activity_TRN__c==t.Parent_Activity_TRN__c)
{
flag=2;
}
if(t1.Id!=t.Id && t1.Activity_TRN__c!=t.Parent_Activity_TRN__c)
{
taskObjects.add(t);
}
}
System.debug('Task Objects is '+ taskObjects);
if(taskObjects.size()>0)
{
flag=1;
errorAlert=true;
for(Task t:[Select Id,Activity_TRN__c from task where Id in: taskObjects])
{
System.debug('Activity TRN is'+t.Activity_TRN__c);
t1.Parent_Activity_TRN__c=t.Activity_TRN__c;
t1.Parent_Activity_TaskId__c=t.Id;
t1.SalesForceURL__c=URL.getSalesforceBaseUrl().toExternalForm()+'/'+t.id;
System.debug('Salesforce URL is'+t1.SalesForceURL__c);
update(t1);
}
}
else
{
flag=3;
errorAlert=false;
return null;
}
PageReference pageRef = new PageReference('/' + taskIdDemo);
pageRef.setRedirect(true);
return pageRef;
}
}
<apex:page standardController="Task" extensions="ParentChildActivity" >
<script type="text/javascript">
function closeWindow()
{
if({!flag==1})
{
opener.location.reload();
window.close();
}
else if({!flag==2})
{
alert(' it is the Child of this Task ');
}
else if({!flag==3})
{
alert('Invalid TRN');
}
}
</script>
<apex:form id="form1" >
<apex:pageBlock id="pb1" >
<apex:pageBlockSection id="pbs1" collapsible="true" columns="4">
<apex:outputLabel value="Activity TRN"></apex:outputLabel>
<apex:inputText value="{!trn}"/>
<apex:commandButton oncomplete="closeWindow()" value="GO" action="{!searchAndUpdate}" />
<apex:outputLink value="/{!$CurrentPage.parameters.id}"><font color="red"><b> Cancel </b></font></apex:outputLink>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
<apex:detail subject="{!task.Parent_Activity_TaskId__c}" relatedList="false" />
</apex:page>
I want to display different error messages for different scenarios:
The Java Script code is not giving me alert box. Can someone Please Help me with this.
try to replace the hai with alert('{!flag}'); and check what it is giving
All Answers
first put an alert inside the fuction first line itself and check whether it is entering or not...
then try the changes in the red color
<script type="text/javascript">
function closeWindow()
{
alert('hai');
if('{!flag}'==1)
{
opener.location.reload();
window.close();
}
else if('{!flag}'==2)
{
alert(' it is the Child of this Task ');
}
else if('{!flag}'==3)
{
alert('Invalid TRN');
}
}
</script>
Hello kiran_mutturu,
Thanks For the Help.
I tried implementing it , It is showing me the alert box 'hai' but not showing the Alert boxes with Error messages.
Can you Please help me with JavaScript Syntax.
Thank you.
try to replace the hai with alert('{!flag}'); and check what it is giving
Hi,
It is Giving Blank.
Can we accept Integer values from Controller in JavaScript??
Thanks
ya what ever value u are getting in javascript u need to assign it to var only na....it will take care abt the type of the variable...u need to set the value in the controller properly ..
I tried doing it this Way.
var myVar='{!flag}';
alert(myVar);
It is again giving a Blank Value.
Please Help me with This.
Thanks.
i think the flag value is not set in the controller itself..in the command button fuction..put the debug to see the flag value is set or not in the class and chek once....but from ur code when u click on GO it will first execute the javascript ....at that moment flag will always be null only....in the execution of the function u are setting the flag...
in this scenario u may need to use remoteaction..check it out here