我正在尝试在表单上工作。目前,该按钮被禁用。但是当你点击一个复选框时,该按钮应该被启用,然后再次禁用,如果你没有点击复选框。当我点击一个复选框时,我不能让按钮变为启用状态。可能我的循环出了问题。该循环在函数checkAge中。任何解决方案启用和禁用按钮不起作用
的Javascript
function checkAge(e){
var theTarget = e.target ? e.target : e.srcElement;
alert(theTarget.id);
var form = document.getElementById("form");
if (document.getElementById("content")) {
form.removeChild(document.getElementById("content"));
}
if(theTarget.id == "fourteen"){
var newDiv = document.createElement("div");
newDiv.setAttribute("id", "content");
var br = document.createElement("br");
newDiv.appendChild(br);
var br = document.createElement("br");
newDiv.appendChild(br);
newDiv.appendChild(document.createTextNode("Vilka seriefigurer träffade du?"));
var br = document.createElement("br");
newDiv.appendChild(br);
var musse = document.createElement('input');
musse.setAttribute("type", "checkbox");
musse.setAttribute("name", "musse");
musse.setAttribute("value", "musse");
musse.setAttribute("id", "musse");
newDiv.appendChild(musse);
newDiv.appendChild(document.createTextNode("Musse"));
var br = document.createElement("br");
newDiv.appendChild(br);
var adi = document.createElement('input');
adi.setAttribute("type", "checkbox");
adi.setAttribute("name", "adi");
adi.setAttribute("value", "adi");
adi.setAttribute("id", "adi");
newDiv.appendChild(adi);
newDiv.appendChild(document.createTextNode("Ådi"));
var br = document.createElement("br");
newDiv.appendChild(br);
var bamse = document.createElement('input');
bamse.setAttribute("type", "checkbox");
bamse.setAttribute("name", "bamse");
bamse.setAttribute("value", "bamse");
bamse.setAttribute("id", "bamse");
newDiv.appendChild(bamse);
newDiv.appendChild(document.createTextNode("Bamse"));
var br = document.createElement("br");
newDiv.appendChild(br);
var input = document.createElement("input");
input.setAttribute("type", "submit");
input.setAttribute("name", "submit");
input.setAttribute("id", "submit");
input.setAttribute("value", "Skicka");
newDiv.appendChild(input);
form.appendChild(newDiv);
var inputs = document.getElementsByTagName("input");
for(i=0; i<inputs.length; i++){
input.disabled = true;
if(inputs[i].type == "checkbox" && inputs[i].checked){
input.disabled = false;
}
else{
input.disabled = true;
}
}
}
你真的不能将问题缩小到少于200行的代码? – 2013-02-08 18:45:07
对不起,不想错过解决问题的任何关键代码。 – DrWooolie 2013-02-08 18:48:26
忽略checkAge功能。 – DrWooolie 2013-02-08 18:49:23