4

I have a html table built from a DB. It has a "Edit" button that will open up a form.

One of those input types will be a radio button I want to generate with On/Off selection:

<input type="radio" name="camera_status" value="On" /> On<br />
<input type="radio" name="camera_status" value="Off" /> Off

I have 3 problems:

  1. I don't know how to create multiple radio options. The code below only creates one.

  2. How do I make the value I passed in "camerastatus" the default checked value?

  3. I need to have multiple labels. The form will be "Camera status" then labels for On/Off.

Code:

function edit2(to, cameraname, cameraquality, camerastatus, emailnotice, camerahash)
{
   var mydiv = document.getElementById("editform");
   var myForm = document.createElement("form");
   myForm.method = "post";
   myForm.action = to;

   //camera_status
   label = document.createElement("label");
   label.for = "text";
   label.innerHTML="<br>Camera status: <br>";
   myForm.appendChild(label);

   var myRadioElement;
   try{
      myRadioElement = document.createElement('<input type="radio" name="camera_status" />On');
   }catch(err){
      myRadioElement = document.createElement('input');
   }

   myRadioElement.type = "radio";
   myRadioElement.name = "camera_status";

   myForm.appendChild(myRadioElement);

   mydiv.appendChild(myForm);
}
1
  • "I don't know how to create multiple radio options. The code below only creates one." - So take the bit that creates one and repeat it. Also, get rid of the try/catch and just do it the way you've got in the catch (along with the two lines after the end of the catch block). But wouldn't a checkbox be better suited to an on/off field? Commented Dec 7, 2011 at 3:14

2 Answers 2

2

To make a radio button the default, add the checked attribute.

<input type="radio" name="..." checked />

Wouldn't it be better to use a checkbox for something that can be on or off?

<input type="checkbox" ... />
Sign up to request clarification or add additional context in comments.

3 Comments

Hrmm, a checkbox might be better. I guess I wasn't clear. It is pretty obvious how to do that in html. I want to create the form with the radio (or checkbox) in javascript.
myRadioElement.checked = true;
that doesn't really help as I need multiple labels and it needs to be done in javascript...but you covered everything else. Thx.
0

"Male" value is checked:

<div><input type="radio" name="Gender" value="Male" checked="checked" /> Male</div>
<div><input type="radio" name="Gender" value="Female" checked="" /> Female</div>

To do this in JavaScript you could just put a block of code where you needed the radio buttons, and use document.write with a for loop for each radio button you need. (You'll also want to change the value every time too, of course.)

-Neil

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.