Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-18-2010, 01:38 PM
Falcon Capt Falcon Capt is offline
 
Join Date: May 2006
Location: U.S.
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Javascript confirmation box

I am trying to use the following script to create a Confirmation Popup box for my "Mark All Forums Read" link, but it isn't working.

In my Navbar template I placed the following at the top:

Code:
<vb:literal>
<script>
<!--
function markAsRead()
{
 var markRead= confirm("Do you really want to mark all forums as read?");
 if (markRead== true)
 { window.location="forumdisplay.php?{vb:raw session.sessionurl}do=markread&amp;markreadhash={vb:raw bbuserinfo.securitytoken}";
 }
 else
 {    
  }
}
//-->

</script>
</vb:literal>

I changed the link for "Mark All Forums Read" to:

Code:
<a href="javascript:markAsRead();"><b><font color=red>{vb:rawphrase mark_forums_read}</font></b></a>



I end up getting the following error in my browser when trying to follow the link:

Quote:
Invalid Forum specified. If you followed a valid link, please notify the administrator

I noticed when the page changes, the URL shows up as: http://www.mysite.com/forumdisplay.php?{vb:raw session.sessionurl}do=markread&markreadhash={vb:ra w bbuserinfo.securitytoken}

It looks like the hash and security tokens are not being passed in the Java Script as they were in vB3.




I was able to use the following in vB3.8.5 and it works fine, but it isn't working in vB4.x:

Code:
<script>
<!--
function markAsRead()
{
 var markRead= confirm("Do you really want to mark all forums as read?");
 if (markRead== true)
 { window.location="forumdisplay.php?$session[sessionurl]do=markread&amp;markreadhash=$bbuserinfo[securitytoken]";
 }
 else
 {    
  }
}
//-->

</script>
Code:
<a href="javascript:markAsRead();">$vbphrase[mark_forums_read]</a>

Any help would be greatly appreciated!



.
Reply With Quote
  #2  
Old 07-19-2010, 07:23 PM
Falcon Capt Falcon Capt is offline
 
Join Date: May 2006
Location: U.S.
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

* Bump *
Reply With Quote
  #3  
Old 07-19-2010, 08:17 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try adding the javascript to the headinclude or header template.
Reply With Quote
  #4  
Old 07-19-2010, 08:36 PM
Guest190829
Guest
 
Posts: n/a
Default

The problem is you wrapped the javascript around <vb: literal> tags, which you should do, but that means none of the {vb: raw } tags are being parsed in the script.

Maybe try passing this data through the function?

Code:
<a href="javascript:markAsRead({vb:raw session.sessionurl},{vb:raw bbuserinfo.securitytoken );">{vb:rawphrase mark_forums_read}</a>
Code:
<vb:literal>
<script>
<!--
function markAsRead(session, markreadhash)
{
 var markRead= confirm("Do you really want to mark all forums as read?");
 if (markRead== true)
 { window.location="forumdisplay.php?" + session + "do=markread&amp;markreadhash=" + markreadhash;
 }
 else
 {    
  }
}
//-->

</script>
</vb:literal>
Reply With Quote
  #5  
Old 07-19-2010, 08:51 PM
Falcon Capt Falcon Capt is offline
 
Join Date: May 2006
Location: U.S.
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo View Post
Try adding the javascript to the headinclude or header template.
Tried both, no change.

Quote:
Originally Posted by Danny.VBT View Post
The problem is you wrapped the javascript around <vb: literal> tags, which you should do, but that means none of the {vb: raw } tags are being parsed in the script.

Maybe try passing this data through the function?

Code:
<a href="javascript:markAsRead({vb:raw session.sessionurl},{vb:raw bbuserinfo.securitytoken});">{vb:rawphrase mark_forums_read}</a>
Code:
<vb:literal>
<script>
<!--
function markAsRead(session, markreadhash)
{
 var markRead= confirm("Do you really want to mark all forums as read?");
 if (markRead== true)
 { window.location="forumdisplay.php?" + session + "do=markread&amp;markreadhash=" + markreadhash;
 }
 else
 {    
  }
}
//-->

</script>
</vb:literal>
I tried the above but get a "Syntax Error".

I think we are getting closer as it makes sense that the vb:literal tags are causing the noparse.
Reply With Quote
  #6  
Old 07-19-2010, 08:54 PM
Guest190829
Guest
 
Posts: n/a
Default

What's the syntax error? I see already that I missed a ")"

so,

Code:
<a href="javascript:markAsRead({vb:raw session.sessionurl},{vb:raw bbuserinfo.securitytoken});">{vb:rawphrase mark_forums_read}</a>
might fix it.
Reply With Quote
  #7  
Old 07-19-2010, 09:07 PM
Falcon Capt Falcon Capt is offline
 
Join Date: May 2006
Location: U.S.
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Danny.VBT View Post
What's the syntax error? I see already that I missed a ")"

so,

Code:
<a href="javascript:markAsRead({vb:raw session.sessionurl},{vb:raw bbuserinfo.securitytoken});">{vb:rawphrase mark_forums_read}</a>
might fix it.
Still no-go.

It doesn't tell me what the Syntax Error is.

When I hover over the link, it shows:

javascript:markAsRead(,1279577127-xxxxxxxxxxxxxxxxxxx)

It appears there might be a hash missing. Also, when I click on the Mark All Read button, I don't get the confirmation popup either.
Reply With Quote
  #8  
Old 07-19-2010, 09:26 PM
Guest190829
Guest
 
Posts: n/a
Default

Try:

Code:
<a href="javascript:markAsRead('{vb:raw session.sessionurl}','{vb:raw bbuserinfo.securitytoken}');">{vb:rawphrase mark_forums_read}</a>
Reply With Quote
  #9  
Old 07-19-2010, 09:36 PM
Falcon Capt Falcon Capt is offline
 
Join Date: May 2006
Location: U.S.
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Danny.VBT View Post
Try:

Code:
<a href="javascript:markAsRead('{vb:raw session.sessionurl}','{vb:raw bbuserinfo.securitytoken}');">{vb:rawphrase mark_forums_read}</a>
EXCELLENT!!!

That appears to have done the trick!

THANK YOU for your help!!! :up::up::up::up::up::up::up:
Reply With Quote
  #10  
Old 07-19-2010, 09:43 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where did you end up putting the js code?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:50 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04803 seconds
  • Memory Usage 2,260KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (12)bbcode_code
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (7)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete