2 回答

TA貢獻1784條經驗 獲得超8個贊
如果要向單選按鈕添加說明,則應創建一個并在此處插入無線電的說明。label
let f = document.createElement("form");
let radio1 = document.createElement("input"); //input element, text
radio1.setAttribute("id","radio1");
radio1.setAttribute('type',"radio");
radio1.setAttribute('name',"sType");
radio1.setAttribute('value',"m");
let label = document.createElement('label');
label.textContent = "MALE";
f.appendChild(radio1);
f.appendChild(label);
document.body.appendChild(f)
您也可以創建一個文本節點并在輸入后追加,但這不是推薦的選項:
//The same as above
let desc = document.createTextNode("MALE")
f.appendChild(radio1)
f.appendChild(desc);
document.body.appendChild(f)`
小提琴:https://jsfiddle.net/dpu54as9/

TA貢獻1848條經驗 獲得超2個贊
輸入標記是自動括起來的標記,不應包含任何文本。您需要在旁邊使用標簽標簽(您可以檢查此鏈接),例如:
<input type="radio" name="sType" id="radio1" value="m"/>
<label for="radio1">MALE</label>
要在代碼中執行此操作,只需創建一個新的標簽元素,設置其文本并追加到窗體中:
var f = document.createElement("form");
f.setAttribute("id", "myForm");
f.setAttribute('method',"post");
f.setAttribute('action',"ride_test.php");
var radio1 = document.createElement("input"); //input element, text
var label1 = document.createElement("label");
// link label to input through id
label1.setAttribute("for", "radio1");
label1.innerHTML = "MALE";
radio1.setAttribute("id","radio1");
radio1.setAttribute('type',"radio");
radio1.setAttribute('name',"sType");
radio1.setAttribute('value',"m");
f.appendChild(radio1);
f.appendChild(label1);
請注意,ID 是唯一的,這意味著 DOM 上不能同時具有多個具有相同名稱的 ID。實現所需內容的最佳方法是更改為類(不是唯一的),然后追加到 DOM,如下所示:user_input
document.body.getElementsByClassName('user_input')[2].appendChild(f);
添加回答
舉報