• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 342
  • Last Modified:

Ratio Field + Text Field Hide

I have a list of fields from a database, I output them to a page with 3 ratio boxes next to them and a text box next to each row, on load the text box is hidden, but when a spesific ratio box is checked the text box is shown and the user is able to type into it, if a different ratio box is selected then the text box hides again.
How do i do this using prefrably javascript/clientside (and no .NET)
0
Pyro-San
Asked:
Pyro-San
  • 6
  • 5
1 Solution
 
alorentzCommented:
Do you have any existing code....easier if we know what it is?
0
 
Pyro-SanAuthor Commented:
no code that is usefull

here is an example of the loop for the output tho

<%
while not rs.eof
%>
<tr>
 <td><%=rs("name1")></td>
 <td>
  <input type="radio" name="calltype<%=rs("id")%>" value="<%=rs("id")%>:1">
  <input type="radio" name="calltype<%=rs("id")%>" value="<%=rs("id")%>:2">
  <input type="radio" name="calltype<%=rs("id")%>" value="<%=rs("id")%>:3">
 </td>
 <td>
  <input type="text" name="stringNumber<%=rs("id")%>">
 </td>
</tr>
<%
wend
%>

when say the #2 radio button is selected the text box will appear when it is not the text box will be hidden
(yeah sorry I keep on typing ratio when it should be radio (I think))
0
 
alorentzCommented:
That puts 3 radio buttons for every 1 textbox?
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Pyro-SanAuthor Commented:
yep.
that is the way it needs to be setup, the user gets a choice 1 out of 3 has to be selected, if the radio button (example as above 2(<input type="radio" name="calltype<%=rs("id")%>" value="<%=rs("id")%>:2">)) is selected then the text box is visible, otherwise it is hidden.
0
 
alorentzCommented:
Only visible if 2 is selected?  What about 1 and 3...what is to happen?
0
 
Pyro-SanAuthor Commented:
the text box is hidden
0
 
alorentzCommented:
This should work: (but put your ASP back in)

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--

function ShowHide(val) {
if(val==2){
document.form1.stringNumber.style.visibility = "visible";
}
else
{
document.form1.stringNumber.style.visibility = "hidden";
document.form1.stringNumber.value = "";
}
}

//-->
</SCRIPT>

<FORM action="" method=POST id=form1 name=form1>
<TABLE WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR>
            <TD>
                <input type="radio" name="calltype" value=":1" LANGUAGE=javascript onclick="return ShowHide(1)">
                  <input type="radio" name="calltype" value=":2" LANGUAGE=javascript onclick="return ShowHide(2)">
                  <input type="radio" name="calltype" value=":3" LANGUAGE=javascript onclick="return ShowHide(3)">
            </TD>
            <TD>
               <input type="text" name="stringNumber">
            </TD>
      </TR>
</TABLE>
</FORM>

0
 
Pyro-SanAuthor Commented:
is there a way to do it without having lots of "document.form1.stringNumber.style.visibility = "hidden";"?
because there is going to be obviously more than one text box on the page, usually MIN 50 of them?
something like ShowHide(1,value2)
document.form1.stringNumbervalue2.style.visibility = "hidden";
or is it going to be to dificult to do it like that?
0
 
alorentzCommented:
Here's one way to do it:

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--

function ShowHide(val, target) {
//target will be the rs("id") that you put in the parameters
if(val==2){
eval("document.form1.stringNumber"+target+".style.visibility = 'visible'");

}
else
{
eval("document.form1.stringNumber"+target+".style.visibility = 'hidden'");
eval("document.form1.stringNumber"+target+".value = ''");
}
}

//-->
</SCRIPT>

<FORM action="" method=POST id=form1 name=form1>
<TABLE WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR>
            <TD>
                <input type="radio" name="calltype" value=":1" LANGUAGE=javascript onclick="return ShowHide(1, 1)">
                  <input type="radio" name="calltype" value=":2" LANGUAGE=javascript onclick="return ShowHide(2, 1)">
                  <input type="radio" name="calltype" value=":3" LANGUAGE=javascript onclick="return ShowHide(3, 1)">
            </TD>
            <TD>
               <input type="text" name="stringNumber1">
            </TD>
      </TR>
</TABLE>
</FORM>
0
 
alorentzCommented:
Did that solve it?
0
 
Pyro-SanAuthor Commented:
yeah it did, thanks :D
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now