Avatar of swaggerking
swaggerkingFlag for United States of America asked on

Javascript add input radio value to a parameter of a query string

I'm working in classic asp and I have a form that I want to add the value of the radio button to a url with parameters. mypage.asp?party=yes or mypage.asp?party=no

<label>Go To party</label><br />
<input type="radio" name="party" id="rsvpyes" value="yes" /><br />
<input type="radio" name="party" id="rsvpno" value="no" /><br />
  

<a href="mypage.asp?party=yes">RSVP</a> or
<a href="mypage.asp?party=no">RSVP</a>

Open in new window

JavaScriptjQueryASP

Avatar of undefined
Last Comment
swaggerking

8/22/2022 - Mon
Dave Baldwin

If you put it in a form with a 'GET' method, it will do that without javascript.

<form action="mypage.asp" method="get" >
<label>Go To party</label><br />
<input type="radio" name="party" id="rsvpyes" value="yes" /> YES<br />
<input type="radio" name="party" id="rsvpno" value="no" /> NO<br />
<input type="submit" value="Submit" />

Open in new window

Scott Fell

Is this what you mean?   http://jsbin.com/emIPiHuW/1/edit?html,js,output
function getParty()
{
var party = document.getElementsByName('party');

for (var i = 0, length = party.length; i < length; i++) {
    if (party[i].checked) {
       
        //alert(party[i].value);
         window.location='mypage.asp?party='+party[i].value;
     
        break;
    }
}
}

Open in new window

  <label>Go To party</label><br />
<input type="radio" name="party" id="rsvpyes" value="yes" /><br />
<input type="radio" name="party" id="rsvpno" value="no" /><br />
  

<a href="#mypage.asp?party=yes" onclick="getParty()">RSVP</a> or
<a href="#mypage.asp?party=no"  onclick="getParty()">RSVP</a>

Open in new window


Did you want to click the link? or the radio?
Gary

As Dave has said why not use a form but with jquery

http://jsfiddle.net/GaryC123/c2Np6/4/

<label>Go To party</label><br />
<input type="radio" name="party" id="rsvpyes" value="yes" />Yes<br />
<input type="radio" name="party" id="rsvpno" value="no" />No<br />
<a href="mypage.asp?">RSVP</a>

Open in new window



$("a").click(function(){
   $(this).attr("href",$(this).attr("href") + "party="+$(":radio[name=party]:checked").val())
})

Open in new window

All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
ASKER
swaggerking

Dave GET won't work in this scenario.
Scott and Padas,
Very close to what I need but I should have been more clear with my question. My apologies, so I will increase points.

My form POST but redirects to "thankyoupage.asp" based upon a value in a hidden input. I need to add/append "yes" or "no" to the end of "thankyoupage.asp?party=" so I can display the correct message dependent on whether they can attend or not attend party.

<form action="somepage.asp" method="post" name="form" >
<input type="radio" name="party" id="rsvpyes" value="yes" /> YES<br />
<input type="radio" name="party" id="rsvpno" value="no" /> NO<br />

<button name="Submit" type="submit" value="Submit" />RSVP</button>

<input type="hidden" name="confirm page" value="thankyoupage.asp?party=">
</form>

Open in new window


Again, sorry for not being clearer.
ASKER CERTIFIED SOLUTION
Gary

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
leakim971

when posting your page to somepage.asp, the script(somepage.asp) know if party is << yes >> or << no >> 
so why do you need an hidden field ?
just concatenate the party query string value to your redirect string :

Response.Redirect "http://www.w3schools.com?party=" & Request.QueryString("party")
%>

Open in new window

SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Scott Fell

There really is no need to use js or jquery on this page.  The user selects yes or no then clicks the submit button.  Then on the somepage.asp you would use

<%
party="no"
if request.form("party")<>"" then
    if request.form("party")="yes" then
         party="yes"
end if
' later in the page

if party="yes" then
     response.write "Thank you for coming to my party"
      else
     response.write "I am sorry you can not come to my party"
end if
%>

Open in new window

Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Dave Baldwin

There you go, @swaggerking , three almost identical suggestions in a row as soon as we knew enough about what you were trying to do.
ASKER
swaggerking

I hear you guys loud and clear and I agree with you 100%. Unfortunately I don't have access to "somepage.asp". Somepage.asp is actually an internal form processing script. Internally we use this to process any inet form and redirect to any page using the hidden input "confirm page".

GaryC123,
<script>
$("[name=form]").submit(function(){
   $("[name='confirm page']").val($(this).val() + $(":radio[name=party]:checked").val())
})
</script>

Open in new window


This only adds the value "yes" or "no" to the hidden
example:
<input type="hidden" name="confirmpage" value="yes">
or
<input type="hidden" name="confirmpage" value="no">

I'd prefer:
<input type="hidden" name="confirmpage" value="thankyoupage.asp?party=yes">
or
<input type="hidden" name="confirmpage" value="thankyoupage.asp?party=no">
SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Gary

Too late for me to test this now but if it is only setting the value to yes/no then change the script to

<script>
$("[name=form]").submit(function(){
   $("[name='confirm page']").val($("[name='confirm page']").val + $(":radio[name=party]:checked").val())
})
</script> 

Open in new window


edit
I see why now

Still confused as to the logic behind this.
Your help has saved me hundreds of hours of internet surfing.
fblack61
ASKER
swaggerking

I got working with your suggestions. Much appreciation.