Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-12-2004, 04:02 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Javascript help, please?

Can anyone help me out with the following, please?

The javascript for what I am wanting to do is as follows:

HTML Code:
function alert( header, message ) {
parent.applet.document.ChatClient.alert( header, message );
}
As far as I can tell, this works fine. The problem I am having is with the following code:

HTML Code:
<td>
<form name=Warn>
<B>Warn:</B> <select onchange="javascript:alert(this.options[selectedIndex].value);">
<option value="">--------</option>
<option value="Hi _USER_!";"Is everything ok?">Hi there!</option>
</select>
</form>
</td>
How do I make an options that contains both the header AND the message in the drop down here? I know what I have for the option isn't right.

Thank you in advance.
Reply With Quote
  #2  
Old 07-12-2004, 10:56 PM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK - the way I have done this (implemented for vBWar ) is as follows:

You need an multi-dimensional array in a single array that javascript can manage...

Try:
Code:
$boofosarray[$header.":".$message] = $displayvalue;
The trick is to generate your Select menu in PHP with values that don't work ($header.":".$message) and then explode it out in your javascript function which then pops up your alert.

Should work So instead of putting your javascript call right there in the onchange, try putting a function call in there
Code:
onchange="return gimmesomesugar(this.options[selectedIndex].value);"
with the function
Code:
<script type="text/javascript">
<!--
function gimmesomesugar(sugar)
{
	var somesugar = sugar.split(":");
	parent.applet.document.ChatClient.alert( somesugar[0], somesugar[1] );
}
//-->
</script>
somewhere on your page prolly better off in the <head>

Let me know how u go pal

[FYI: never name your custom javascript functions with the name of a default js function like "alert" ]
Reply With Quote
  #3  
Old 07-12-2004, 11:06 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Natch
OK - the way I have done this (implemented for vBWar ) is as follows:

You need an multi-dimensional array in a single array that javascript can manage...

Try:
Code:
$boofosarray[$header.":".$message] = $displayvalue;
The trick is to generate your Select menu in PHP with values that don't work ($header.":".$message) and then explode it out in your javascript function which then pops up your alert.

Should work So instead of putting your javascript call right there in the onchange, try putting a function call in there
Code:
onchange="return gimmesomesugar(this.options[selectedIndex].value);"
with the function
Code:
<script type="text/javascript">
<!--
function gimmesomesugar(sugar)
{
	var somesugar = sugar.split(":");
	parent.applet.document.ChatClient.alert( somesugar[0], somesugar[1] );
}
//-->
</script>
somewhere on your page prolly better off in the <head>

Let me know how u go pal

[FYI: never name your custom javascript functions with the name of a default js function like "alert" ]
The javascript I posted above it how it has to be. This is for realchat and that's how he says to do it in the program. I have a page called extras that this is located on and where the rest of it has to go. Not much I can do about that, I'm afraid. This code goes in an html page, by the way.

The drop down was my idea as I wanted to be able to click it and have it send a warning to the user. There's no way to do that with this?
Reply With Quote
  #4  
Old 07-12-2004, 11:18 PM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In your HTML page, can you add any content? like a Javascript function ?
Reply With Quote
  #5  
Old 07-12-2004, 11:50 PM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
The javascript I posted above it how it has to be. This is for realchat and that's how he says to do it in the program. I have a page called extras that this is located on and where the rest of it has to go. Not much I can do about that, I'm afraid. This code goes in an html page, by the way.

The drop down was my idea as I wanted to be able to click it and have it send a warning to the user. There's no way to do that with this?
HTML Code:
<td>
<form name=Warn>
<B>Warn:</B> <select onchange="javascript:alert(this.options[selectedIndex].value);">
<option value="">--------</option>
<option value="Hi _USER_!";"Is everything ok?">Hi there!</option>
</select>
</form>
</td>
Change this to
HTML Code:
<td>
<form name="warn">
<B>Warn:</B> <select onchange="gimmesomesugar(this.options[selectedIndex].value);">
<option value="">--------</option>
<option value="Hi _USER_!:Is everything ok?">Hi there!</option>
</select>
</form>
</td>
Add somewhere in the <head> tags
HTML Code:
<script type="text/javascript">
<!--
function gimmesomesugar(sugar)
{
	var somesugar = sugar.split(":");
	alert( somesugar[0], somesugar[1] );
}
//-->
</script>
This should call the same alert function you have scripted in your first post, unless the regular javascript alert() function steps in and takes over
Reply With Quote
  #6  
Old 07-13-2004, 12:42 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok, that works, but it throws a popup up for this line:

--------

when I take it back to the beginning of the list. Can we fix that so it doesn't do anything for the first option like that?
Reply With Quote
  #7  
Old 07-13-2004, 12:59 AM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah - give it a value in your SELECT and test for that value in the javascript before throwing to the alter...

Try this
HTML Code:
<script type="text/javascript">
<!--
function gimmesomesugar(sugar)
{
	var somesugar = sugar.split(":");
	if(somesugar.length==1) 
		{ return false; }
	alert( somesugar[0], somesugar[1] );
}
//-->
</script>
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 07:04 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05450 seconds
  • Memory Usage 2,243KB
  • Queries Executed 13 (?)
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
  • (6)bbcode_code
  • (6)bbcode_html
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete