467,119 Members | 708 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,119 developers. It's quick & easy.

onselect open new window

I'm having trouble with the following code appending the form name and an
empty value to the end of the url. Can anyone tell me what's wrong? I
appreciate any tips or advice you can pass along!

Rob

// submits info like this: http://www.google.com/?select=

<script type="text/javascript">
function launchIt() {
var form = document.search;
var select = form.select;
var option = select.options[select.selectedIndex];

select.selectedIndex = 0;
form.target = option.getAttribute('name');
form.action = option.value;
form.submit();
//form.target = '';
//form.action = '';
}
</script>

<form method="get" name="search">
<select name="select" onChange="launchIt()" style="font-size:9px">
<option value="">Select Service</option>
<option value="http://www.google.com/" name="google">Google</option>
<option value="http://www.hotbot.com/" name="hotbot">Hotbot</option>
</select>
</form>
Jul 20 '05 #1
  • viewed: 5928
Share:
8 Replies
Lee
Rob Wahmann said:

I'm having trouble with the following code appending the form name and an
empty value to the end of the url. Can anyone tell me what's wrong? I
appreciate any tips or advice you can pass along!

Rob

// submits info like this: http://www.google.com/?select=


That's what happens when you submit a form using "get".
Your form elements and their values are appended to the URL.

In this case, your only form element is named "select", and
its value is "".

It looks like you don't really want to submit anything, just
open a window, so you should be using something more like:

<script type="text/javascript">
function launchIt(select) {
var option = select.options[select.selectedIndex];
window.open(option.value,option.getAttribute('name '));
}
</script>

<form method="get" name="search">
<select name="select" onChange="launchIt(this)" style="font-size:9px">
<option value="">Select Service</option>
<option value="http://www.google.com/" name="google">Google</option>
<option value="http://www.hotbot.com/" name="hotbot">Hotbot</option>
</select>
</form>

Jul 20 '05 #2
That works great! I should have been clearer in my last message... I knew
why it was happening but I didn't know how to resolve it. Thanks for the
assistance.

I have only one more question... How can I make the form do nothing if the
option value is empty ""? Thanks again for your help!

Rob

"Lee" <RE**************@cox.net> wrote in message
news:c2********@drn.newsguy.com...
Rob Wahmann said:

I'm having trouble with the following code appending the form name and an
empty value to the end of the url. Can anyone tell me what's wrong? I
appreciate any tips or advice you can pass along!

Rob

// submits info like this: http://www.google.com/?select=


That's what happens when you submit a form using "get".
Your form elements and their values are appended to the URL.

In this case, your only form element is named "select", and
its value is "".

It looks like you don't really want to submit anything, just
open a window, so you should be using something more like:

<script type="text/javascript">
function launchIt(select) {
var option = select.options[select.selectedIndex];
window.open(option.value,option.getAttribute('name '));
}
</script>

<form method="get" name="search">
<select name="select" onChange="launchIt(this)" style="font-size:9px">
<option value="">Select Service</option>
<option value="http://www.google.com/" name="google">Google</option>
<option value="http://www.hotbot.com/" name="hotbot">Hotbot</option>
</select>
</form>

Jul 20 '05 #3
Rob Wahmann wrote:
That works great! I should have been clearer in my last message... I knew
why it was happening but I didn't know how to resolve it. Thanks for the
assistance.

I have only one more question... How can I make the form do nothing if the
option value is empty ""? Thanks again for your help!

<script type="text/javascript">
function launchIt(select) {
var option = select.options[select.selectedIndex];
if (option != ''){
window.open(option.value,option.getAttribute('name '));
}
}
</script>
--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/
Jul 20 '05 #4
Hmm... I see where you're going with this but it still allows me to submit
empty values. Thanks for the assistance!

Rob
<script type="text/javascript">
function launchIt(select) {
var option = select.options[select.selectedIndex];
if (option != ''){
window.open(option.value,option.getAttribute('name '));
}
}
</script>
--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/

Jul 20 '05 #5
Rob Wahmann wrote:

Top posting fixed - please read the FAQ with regards to top-posting,
quoting and snipping.
<script type="text/javascript">
function launchIt(select) {
var option = select.options[select.selectedIndex];
if (option != ''){
window.open(option.value,option.getAttribute('name '));
}
}
</script>

Hmm... I see where you're going with this but it still allows me to submit
empty values. Thanks for the assistance!


"submit empty values" ?? You are not submitting a form, you are simply
opening a new window with a URL parameter. The parameter happens to be a
variable scenario that mimics a form post. To verify that, put an
onsubmit="alert('I am submitting')" on the form and see if you see it.
Using the above script, you won't. And as written, its not even
appending the variables, its simply opening a new window with the URL
set to the select value, and the name of the window being the same as
the "name" attribute of the option that was chosen at the time.

Perhaps a little more explanation of what you are trying to do?
Submitting a search to google takes a little more than what you are doing.

--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/
Jul 20 '05 #6
"Randy Webb" <hi************@aol.com> wrote in message
news:8s********************@comcast.com...
Rob Wahmann wrote:

Top posting fixed - please read the FAQ with regards to top-posting,
quoting and snipping.
<script type="text/javascript">
function launchIt(select) {
var option = select.options[select.selectedIndex];
if (option != ''){
window.open(option.value,option.getAttribute('name '));
}
}
</script>

Hmm... I see where you're going with this but it still allows me to submit empty values. Thanks for the assistance!


"submit empty values" ?? You are not submitting a form, you are simply
opening a new window with a URL parameter. The parameter happens to be a
variable scenario that mimics a form post. To verify that, put an
onsubmit="alert('I am submitting')" on the form and see if you see it.
Using the above script, you won't. And as written, its not even
appending the variables, its simply opening a new window with the URL
set to the select value, and the name of the window being the same as
the "name" attribute of the option that was chosen at the time.

Perhaps a little more explanation of what you are trying to do?
Submitting a search to google takes a little more than what you are doing.

--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/


Sorry for any mistakes in posting to this thread (no professional news
poster here but i do appreciate the help). The empty value I'm referring to
is shown below. I want the ability to categorize options and not allow
windows to be launched where the value is "". If you select "Select Service"
below you'll see that a new window is launched to your default browser home
page. Instead, I would like for the form to do nothing. I'm toying around
with this but I greatly appreciate anyone's advice.

<option value="" name="select">Select Service</option> <!-- this has an
empty value "" -->
<option value="http://www.anydomain.com/" name="anydomain">Anywhere</option>
<option value="http://www.whocares.com/" name="whocares">Who Cares</option>

TIA - Rob
Jul 20 '05 #7
"Rob Wahmann" <ro*@dotcomstudio.biz> wrote in message
news:H_*****************@newssvr26.news.prodigy.co m...
"Randy Webb" <hi************@aol.com> wrote in message
news:8s********************@comcast.com...
Rob Wahmann wrote:

Top posting fixed - please read the FAQ with regards to top-posting,
quoting and snipping.
><script type="text/javascript">
> function launchIt(select) {
> var option = select.options[select.selectedIndex];
> if (option != ''){
> window.open(option.value,option.getAttribute('name '));
> }
> }
></script>
Hmm... I see where you're going with this but it still allows me to submit empty values. Thanks for the assistance!

"submit empty values" ?? You are not submitting a form, you are simply
opening a new window with a URL parameter. The parameter happens to be a
variable scenario that mimics a form post. To verify that, put an
onsubmit="alert('I am submitting')" on the form and see if you see it.
Using the above script, you won't. And as written, its not even
appending the variables, its simply opening a new window with the URL
set to the select value, and the name of the window being the same as
the "name" attribute of the option that was chosen at the time.

Perhaps a little more explanation of what you are trying to do?
Submitting a search to google takes a little more than what you are doing.
--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/


Sorry for any mistakes in posting to this thread (no professional news
poster here but i do appreciate the help). The empty value I'm referring

to is shown below. I want the ability to categorize options and not allow
windows to be launched where the value is "". If you select "Select Service" below you'll see that a new window is launched to your default browser home page. Instead, I would like for the form to do nothing. I'm toying around
with this but I greatly appreciate anyone's advice.

<option value="" name="select">Select Service</option> <!-- this has an
empty value "" -->
<option value="http://www.anydomain.com/" name="anydomain">Anywhere</option> <option value="http://www.whocares.com/" name="whocares">Who Cares</option>
TIA - Rob


function launchIt(select) {
var option = select.options[select.selectedIndex];
if (option.getAttribute('name') != ''){
window.open(option.value,option.getAttribute('name '));
}
}

Call me crazy but I believe I may have fixed this myself... The value or the
name can empty and that's fine with me. The script above seems to work.
Thanks again!

Rob
Jul 20 '05 #8
Rob Wahmann wrote:

<--snip-->
Call me crazy but I believe I may have fixed this myself... The value or the
name can empty and that's fine with me. The script above seems to work.
Thanks again!


Glad you got it working.
--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/
Jul 20 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

10 posts views Thread by Marshall Dudley | last post: by
10 posts views Thread by David McCulloch | last post: by
7 posts views Thread by anthony.turcotte@gmail.com | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.