We help IT Professionals succeed at work.

call javascript function from cfm

ommer
ommer asked
on
Medium Priority
768 Views
Last Modified: 2013-12-24
Hello,

I am sure this can be and has been done many times, but I just could not get it right. I want to call a javascript function, which could be as simple as this:
<script type="text/javascript">
function disp_alert()
{
alert("You have not login for at least 6 months.")
}
</script>

My calling part is in this context, but I am sure I did not get the syntax right.
<cfif ---test condition is true--- >
     disp_alert
    <cflocation....>
</cfif>

Could any body tell me how this can be done? And if I don't have to use javascript, what is the cf equivalent of accomplishing the task?

Thanks!
Comment
Watch Question

CERTIFIED EXPERT
Commented:
hey ommer

see when you are using cflocation alert will not pop up

so better do this


<cfif ---test condition is true--- >
  <script type="text/javascript">

alert("You have not login for at least 6 months.")
window.location="login.cfm" ;
</script>
   
</cfif>

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Ok, that may solve this one, but is there a higher level location where I can put my j function that I could call it from other places on the same cf page?

Also, if this is the case, I should be able to get rid of javascript all together, and use some cf native way to warn users. I am pretty new in cf. Could you show me how to do that?

Thanks!
CERTIFIED EXPERT

Commented:
ommer
with cf u cannot warn the users and more over if you are using cflocation it will redirect the page and you cannot see any warn messages like JS alert or even a div .

see dis url

http://www.experts-exchange.com/Web/WebDevSoftware/ColdFusion/Q_22007584.html

it was the same issue look at the last comments

Author

Commented:
Cool! One more question.

I tried to use your way like this, but seems did not pass my user_id over.

alert("You have not login for at least 6 months.")
window.location="MaintainAcct.cfm?user_id=login.user_id"
CERTIFIED EXPERT

Commented:
you cannot pass like that in js

window.location="MaintainAcct.cfm?user_id=login" + login.user_id ;
CERTIFIED EXPERT
Commented:

 ommer, the coldfusion way of doing this is simply to direct the user to a new page that tells them the message.

 <cfif ( has it been a long time? )>  <!---- put your test in here ----->

     <cflocation url="Its_been_a_long_time.cfm">  <!--- go to a page to tell them whatever you want --->

 </cfif>


 Alternatively, you just set a message that you display on the page.  Most web programmers designate a spot on their pages for error messages (or info messages).   If you are doing this, set the message to appear on the page when the enter.

 Say this is the homePage.cfm...

 <cfif ( has it been a long time? )>  

     <div>
       Hey its been a long time!   <!---- tell them on the page you are drawing --->
    </div>

 </cfif>


 It seems you know javascript better than coldfusion, try not to think in javascript though.  js works on the client while codlfusion processes long before the web page is drawn...
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.