Javascript 我怎么能 ;添加<;g:textField>;在“中”;。innerHTML";?

Javascript 我怎么能 ;添加<;g:textField>;在“中”;。innerHTML";?,javascript,grails,innerhtml,appendchild,Javascript,Grails,Innerhtml,Appendchild,我想做2个输入类型=收音机。当我单击第二个单选按钮时,我想通过标记“”添加四个按钮。我怎么能 在“.innerHTML”中添加输入标记? 不要用JQuery回答,因为这个系统不能使用JQuery的append()方法 函数appendChildDM() { var so=document.createElement('span'); so.innerHTML=“Name:”; so.innerHTML=“公司:”; so.innerHTML=“电子邮件:”; so.innerHTML=“电话:

我想做2个输入类型=收音机。当我单击第二个单选按钮时,我想通过标记“”添加四个按钮。我怎么能 在“.innerHTML”中添加输入标记? 不要用JQuery回答,因为这个系统不能使用JQuery的append()方法


函数appendChildDM()
{
var so=document.createElement('span');
so.innerHTML=“Name:

”; so.innerHTML=“公司:

”; so.innerHTML=“电子邮件:

”; so.innerHTML=“电话:”; document.getElementById('apch').appendChild(so); }
在“Body”标签中

  系统联系信息:    姓名: ${t.memid_name}


 其他联络资料: 


 
您可以通过两种方式将en元素动态添加到DOM中:将html代码插入父元素或创建具有某些属性的子元素。在您的示例中,这两种方法是混合的,因此毫无意义。
方法1。插入HTML代码:
var无线电=“”;
ele.innerHTML=收音机;
document.getElementById(id).onclick=function(){alert('this is test');};
方法2。正在创建DOM子对象:
var radioButton=document.createElement('input');
radioButton.type=“收音机”;
radioButton.id=id;
radioButton.onclick=function(){alert('this is test');};
ele.appendChild(单选按钮);

您应该将
=
替换为
+=
,并且您在每个地方都加了双引号,这会导致错误

function appendChildDM(){
  var so = document.createElement('span');

  so.innerHTML = /* because the span is empty */ "<b> Name:  </b><g:textField name='name' value='${name}' required='true' maxlength='30' ></g:textField><br><br>";
  so.innerHTML += "<b> Company:  </b><g:textField name='company' value='${company}' maxlength='30' ></g:textField><br><br>";
  so.innerHTML += "<b>E-mail:  </b><g:textField name='email' required='true' value='${email}'></g:textField><br><br>";
  so.innerHTML +="<b>Phone:  </b><g:textField name='phone' value='${phone}'></g:textField>";

  // and for the input radio
  so.innerHTML += "<input type='radio' name='theName' /> <input type='radio' name='theName' />";
  document.getElementById('apch').appendChild(so);
}
函数appendChildDM(){
var so=document.createElement('span');
so.innerHTML=/*因为span是空的*/“Name:

”; so.innerHTML+=“公司:

”; so.innerHTML+=“电子邮件:

”; so.innerHTML+=“电话:”; //和输入收音机 so.innerHTML+=“”; document.getElementById('apch').appendChild(so); }
您使用的是=而不是+=,使用=将替换您现有的innerhtml。 以下是你所期望的吗

<script type='text/javascript'>
function appendChildDM()
{
  var so = document.createElement('span');
  so.innerHTML+="<b> Name:  </b><g:textField name="name" value="${name}" required="true" maxlength="30" ></g:textField><br><br>";
  so.innerHTML+="<b> Company:  </b><g:textField name="company" value="${company}" maxlength="30" ></g:textField><br><br>";
  so.innerHTML+="<b>E-mail:  </b><g:textField name="email" required="true" value="${email}"></g:textField><br><br>";
  so.innerHTML+="<b>Phone:  </b><g:textField name="phone" value="${phone}"></g:textField>";
 document.getElementById('apch').appendChild(so);
}
</script>

函数appendChildDM()
{
var so=document.createElement('span');
so.innerHTML+=“名称:

”; so.innerHTML+=“公司:

”; so.innerHTML+=“电子邮件:

”; so.innerHTML+=“电话:”; document.getElementById('apch').appendChild(so); }
        You can dynamically add en element to the DOM by two ways: by inserting an html code into the parent element or by creating a child element with some properties. In your example the two methods are mixed - therefore senseless.
Method 1. Inserting HTML code:

        var radio = '<input type ="radio" id="' + id + '" value="" />';
        ele.innerHTML = radio;
        document.getElementById(id).onclick = function(){ alert('this is test'); };
Method 2. Creating DOM child:

var radioButton = document.createElement('input');
radioButton.type = "radio";
radioButton.id = id;
radioButton.onclick = function(){ alert('this is test'); };
ele.appendChild(radioButton);
function appendChildDM(){
  var so = document.createElement('span');

  so.innerHTML = /* because the span is empty */ "<b> Name:  </b><g:textField name='name' value='${name}' required='true' maxlength='30' ></g:textField><br><br>";
  so.innerHTML += "<b> Company:  </b><g:textField name='company' value='${company}' maxlength='30' ></g:textField><br><br>";
  so.innerHTML += "<b>E-mail:  </b><g:textField name='email' required='true' value='${email}'></g:textField><br><br>";
  so.innerHTML +="<b>Phone:  </b><g:textField name='phone' value='${phone}'></g:textField>";

  // and for the input radio
  so.innerHTML += "<input type='radio' name='theName' /> <input type='radio' name='theName' />";
  document.getElementById('apch').appendChild(so);
}
<script type='text/javascript'>
function appendChildDM()
{
  var so = document.createElement('span');
  so.innerHTML+="<b> Name:  </b><g:textField name="name" value="${name}" required="true" maxlength="30" ></g:textField><br><br>";
  so.innerHTML+="<b> Company:  </b><g:textField name="company" value="${company}" maxlength="30" ></g:textField><br><br>";
  so.innerHTML+="<b>E-mail:  </b><g:textField name="email" required="true" value="${email}"></g:textField><br><br>";
  so.innerHTML+="<b>Phone:  </b><g:textField name="phone" value="${phone}"></g:textField>";
 document.getElementById('apch').appendChild(so);
}
</script>