?
Solved

Can we make inactive button in HTML ?

Posted on 1998-10-01
19
Medium Priority
?
1,133 Views
Last Modified: 2008-03-10
I have 2 buttons, one should be pressed before the second. The second button should process the result from the first one. Can I make the second one inactive until the first button pressed and then activate it. Or is there a solution to this problem. Thanks
0
Comment
Question by:nawaf
  • 8
  • 6
  • 5
19 Comments
 
LVL 2

Expert Comment

by:Grdv
ID: 1838301
how does your code look like??
0
 
LVL 4

Accepted Solution

by:
jbrugman earned 280 total points
ID: 1838302
<FORM NAME=formname>
<INPUT TYPE = HIDDEN VALUE="wait" NAME=button2>
<INPUT TYPE = BUTTON VALUE=one onClick="go_on()"
<INPUT TYPE = BUTTON VALUE=two onClick="go_no()"
</FORM>

<SCRIPT LANGUAGE="JavaScript">
function go_on() {
document.formname.wait.value=newvalue
}
function go_no() {
   if (document.formname.wait.value=="wait"){
   // donothing
   alert('press button 1 first!");
   else {
   alert('button 1 is pressed!");
   }
}
</SCRIPT>
0
 
LVL 4

Expert Comment

by:jbrugman
ID: 1838303
Sorry, this one should work...

<FORM NAME=formname>
<INPUT TYPE = HIDDEN VALUE="wait" NAME=wait>
<INPUT TYPE = BUTTON VALUE=one onClick="go_on()">
<INPUT TYPE = BUTTON VALUE=two onClick="go_no()">
</FORM>

<SCRIPT LANGUAGE="JavaScript">
function go_on() {
document.formname.wait.value="newvalue"
}
function go_no() {
   if (document.formname.wait.value=="wait") {
   // do nothing
   alert("press button 1 first!");
   }
   if (document.formname.wait.value=="newvalue") {
   alert("button 1 is pressed!");
   }
}
</SCRIPT>
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

Author Comment

by:nawaf
ID: 1838304
Her is the full code:
<HTML>

<HEAD>
<TITLE>slope</TITLE>
</HEAD>

<BODY BGCOLOR="#99ccff">

<FORM method=post ACTION="http://server/cgi-bin/slope.pl" >

<table cellpadding=0 cellspacing=0 border=0 width=750 bgcolor="#6666ff">

<tr><td>
<font face="GillSans, Ventana, Arial, Helv" size=4 align=center>Slop/Aspect finctions</font>
</tr></td>
<tr><td colspan=2>&nbsp;</td></tr>

 
<tr><td>
<font face="GillSans, Ventana, Arial, Helv">
<I>Input File  </I>
</font>

<SELECT NAME="inputs">
<OPTION value="affaosol">affaosol
<OPTION value="brazil2">brazil2
<OPTION value="brazil4">brazil4
<OPTION value="nrain">nrain
<OPTION value="water">water
<OPTION value="relief">relief
<OPTION value="prwater">prwater
<OPTION value="massland">massland
</SELECT>

</tr></td>

<tr><td colspan=2>&nbsp;</td></tr>


<tr><td>
<font face="GillSans, Ventana, Arial, Helv">
<I>Output File</I>
</font>

<INPUT TYPE="text" NAME="outputs" SIZE="10" MAXLENGTH="10">

</tr></td>

<tr><td colspan=2>&nbsp;</td></tr>


<tr><td>
<font face="GillSans, Ventana, Arial, Helv">
<I>functions:</I>
</font>

<INPUT NAME="slas" TYPE="radio" VALUE="slope" CHECKED> Slope
<INPUT NAME="slas" TYPE="radio" VALUE="aspect">Aspect

</font>
</tr></td>
<tr><td colspan=2>&nbsp;</td></tr>

<tr><td>
<!---         button 1 ----->
<input type="submit" value="Generate">
</tr></td>


<tr><td>
<!---         button 2----->
<input type="submit" value="Display">
</tr></td>




</table>
</form>
<dir>
<A HREF="javascript:history.back()"><img src="snowfl.gif" height=32 width=32 alt="Back" border=0></A>
</dir>

</BODY>

</HTML>
0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838305
jbrugman:
doesn't it occur to you that naming two different functions the same thing would be some problems.

nawaf:
how does two submitbuttons in the same form do different things, without any JS or anything...

0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838306
ooops sorry... jbrugman...
blind me... didn't see that no and on was different functions... sorry...
0
 

Author Comment

by:nawaf
ID: 1838307
: Grdv

Yes yoy are right. I have to change this but UI dont know how. Do you have a solution and what is JS please thanks.
0
 
LVL 4

Expert Comment

by:jbrugman
ID: 1838308
Stay using <INPUT TYPE=BUTTON>
In the second function, use:
   if (document.formname.wait.value=="newvalue") {
   alert("button 1 is pressed!");
   document.form.submit();
   }
}


0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838309
what do you want the generate, and the display button to do??
0
 

Author Comment

by:nawaf
ID: 1838310
generate run a program to generate an image.

Once the image is generated display to display it on the screen. Thats it.
0
 
LVL 4

Expert Comment

by:jbrugman
ID: 1838311
Why don't you pre cashe the images then?
0
 

Author Comment

by:nawaf
ID: 1838313
jbrugman

>>> Why don't you pre cashe the images then?

How please ?
0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838314
all you need to do for the suggsetion jbrugman came up with is to add this in the head:
<script language="JavaScript">
<!--
var imgSrcArr=new Array(**arguments delimited by a comma**);
var imgArr=new Array();
var gImg;
function preImg(){
  for (i=0;i<ImgSrcArr.length;i++){
    imgArr[i]=new Image();
    imgArr[i].src=imgSrcArr[i];
  }
}
function genImg(){
  gImg = math.random * imgArr.length;
}
function dispImg(imgname){
  document.images[imgname].src = imgArr[gImg].srx;
}
// -->
</script>


then replace:
<tr><td>
      <!---         button 1 ----->
      <input type="submit" value="Generate">
      </tr></td>


      <tr><td>
      <!---         button 2----->
      <input type="submit" value="Display">
      </tr></td>

with:
<tr><td>
      <!---         button 1 ----->
      <input type="button" value="Generate" onClick="genImg();">
      </tr></td>


      <tr><td>
      <!---         button 2----->
      <input type="button" value="Display" onClick="dispImg("view");">
      </tr></td>


      <tr><td>
      <!---         image   ----->
      <img src=**whatever** height=**whatever** width=**whatever** name="view">
      </tr></td>

that makes the genImg generate a random image that when the displaybutton is pressed is displayed in the empty picturebox beneath...

all that's needed to be done then is to change **whatever** to the different attributes needed... and change **arguments delimited by a comma** to "imagename1.gif","imagename2.gif" or whatever the names of your pictures are...
0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838315
oops, left out th inactive part...

      function dispImg(imgname){
        document.images[imgname].src = imgArr[gImg].srx;
      }

should be changed to:

      function dispImg(imgname){
        if(gImg!=null){
          document.images[imgname].src = imgArr[gImg].srx;
        }
      }
0
 
LVL 4

Expert Comment

by:jbrugman
ID: 1838316
Make sure the images are all the same size though.
0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838317
well, actually, they don't have to be... but it does not look very nice if they're not... :)

// Grdv
0
 

Author Comment

by:nawaf
ID: 1838318
Grdv:
=====
This is what  Jbrugman call pre cashing ?


jbrugman:
=======
You both helped how do I evaluate now ?
0
 
LVL 4

Expert Comment

by:jbrugman
ID: 1838319
Well the points don't really matter to me. If Grdv really wants them, reject the answer, and let grdv answer to evaluate. It is just nice to see someone learn to use the pc in an enhanced way.
So Grdv, let us know what you want.
Justus
0
 
LVL 2

Expert Comment

by:Grdv
ID: 1838320
well, doesn't really matter to me... :)
jbrugman, or Justus as he seams to call himself originally came up with the idea...

but, I can't say I'm angry if I get the points, but the main point still is that your problem is solved...

// Grdv
(it's all up to you, nawaf)
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
In this tutorial viewers will learn how to embed Flash content in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <object> tag to embed Flash content.: To specify that the object is Flash content, d…
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
Suggested Courses

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question