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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.