Javascript 为什么不是';GetElementsByTagName是否在此表单中工作?
我在avidest.com/new上有一张表格。第一个字段是单选按钮。电子邮件字段下面是一个提示,该提示应根据为单选按钮选择的值而更改。如果选择了雇主,提示应该是“请使用您的公司电子邮件地址”。如果选择了自由职业者,提示应该是“请使用您的学校电子邮件地址。”。出于某种原因,我的javascript代码无法工作。我已经尝试用GetElementsByName替换getElementsByTagName,但这不起作用。以下是我在html页面的部分编写的函数:Javascript 为什么不是';GetElementsByTagName是否在此表单中工作?,javascript,forms,getelementbyid,getelementsbytagname,getelementsbyname,Javascript,Forms,Getelementbyid,Getelementsbytagname,Getelementsbyname,我在avidest.com/new上有一张表格。第一个字段是单选按钮。电子邮件字段下面是一个提示,该提示应根据为单选按钮选择的值而更改。如果选择了雇主,提示应该是“请使用您的公司电子邮件地址”。如果选择了自由职业者,提示应该是“请使用您的学校电子邮件地址。”。出于某种原因,我的javascript代码无法工作。我已经尝试用GetElementsByName替换getElementsByTagName,但这不起作用。以下是我在html页面的部分编写的函数: <script> funct
<script>
function topHint(){
if(document.getElementsByTagName('Type').value == "Freelancer"){
document.getElementById('employorlance').innerHTML = "Please use your school e-mail address.";
}
if(document.getElementsByTagName('Type').value == "Employer"){
document.getElementById('employorlance').innerHTML = "Please use your company e-mail address.";
}
}
</script>
getElementsByTagName
选择HTML标记名(正文、输入、表单
等)
您想使用文档。getElementsByName(“类型”)
:
getElementsByTagName
选择HTML标记名(正文、输入、表单
等)
您想使用文档。getElementsByName(“类型”)
:
getElementsByTagName
方法不会返回具有匹配名称的单个元素,而是返回具有匹配标记名称的元素数组
在本例中,您将得到一个空数组,因为您没有任何
元素
getElementsByName
方法还返回一个数组,并且您总是会得到所有单选按钮,而不仅仅是所选按钮,因此您必须检查状态:
function topHint(){
var radios = document.getElementsByName('Type');
if(radios[0].checked){
document.getElementById('employorlance').innerHTML = "Please use your school e-mail address.";
}
if(radios[1].checked){
document.getElementById('employorlance').innerHTML = "Please use your company e-mail address.";
}
}
getElementsByTagName
方法不会返回具有匹配名称的单个元素,而是返回具有匹配标记名称的元素数组
在本例中,您将得到一个空数组,因为您没有任何
元素
getElementsByName
方法还返回一个数组,并且您总是会得到所有单选按钮,而不仅仅是所选按钮,因此您必须检查状态:
function topHint(){
var radios = document.getElementsByName('Type');
if(radios[0].checked){
document.getElementById('employorlance').innerHTML = "Please use your school e-mail address.";
}
if(radios[1].checked){
document.getElementById('employorlance').innerHTML = "Please use your company e-mail address.";
}
}
由于单选按钮上已经有唯一的ID,为什么不使用
document.getElementById
if(document.getElementById('item4_0_radio').checked){
// change the hint text
}
由于单选按钮上已经有唯一的ID,为什么不使用
document.getElementById
if(document.getElementById('item4_0_radio').checked){
// change the hint text
}
我想你真正想要的是:
<script>
function topHint(){
if (document.getElementById('item4_0_radio').checked) {
document.getElementById('employorlance').innerHTML =
"Please use your school e-mail address.";
}
else {
document.getElementById('employorlance').innerHTML =
"Please use your company e-mail address.";
}
}
</script>
函数topHint(){
if(document.getElementById('item4\u 0\u radio')。选中){
document.getElementById('employorlance')。innerHTML=
“请使用您的学校电子邮件地址。”;
}
否则{
document.getElementById('employorlance')。innerHTML=
“请使用您公司的电子邮件地址。”;
}
}
然后,在每个单选按钮上添加:
onclick=“topHint();”
我想您真正想要的是:
<script>
function topHint(){
if (document.getElementById('item4_0_radio').checked) {
document.getElementById('employorlance').innerHTML =
"Please use your school e-mail address.";
}
else {
document.getElementById('employorlance').innerHTML =
"Please use your company e-mail address.";
}
}
</script>
函数topHint(){
if(document.getElementById('item4\u 0\u radio')。选中){
document.getElementById('employorlance')。innerHTML=
“请使用您的学校电子邮件地址。”;
}
否则{
document.getElementById('employorlance')。innerHTML=
“请使用您公司的电子邮件地址。”;
}
}
然后,在每个单选按钮上添加:
onclick=“topHint();”
getElementsByTagName('Type')返回一组值,您需要更具体,它是标记名。getElementsByTagName('Type')返回一组值,您需要更具体,它是标记名。谢谢,我将其更改为GetElementsByName,但它仍然不工作。@Philip7899:GetElementsByName方法也返回一个数组。我在上面添加了一些解释。谢谢,我将其更改为GetElementsByName,但它仍然不起作用。@Philip7899:GetElementsByName
方法还返回一个数组。我在上面添加了一些解释。是的,那是因为它返回一个数组。我更新了我的答案;再试一次。另外,你能澄清一下这个函数应该做什么吗@方舟什么不管用?我没有提供代码示例。我将您建议的代码放回了上面的问题中。它仍然不起作用。@Philip7899我再次编辑了我的答案,以确保收音机确实被检查过……是的,那是因为它返回了一个数组。我更新了我的答案;再试一次。另外,你能澄清一下这个函数应该做什么吗@方舟什么不管用?我没有提供代码示例。我将您建议的代码放回了上面的问题中。它仍然不起作用。@Philip7899我再次编辑了我的答案,以确保收音机确实被检查过……下面是一个证明它起作用的例子。您的页面中必须有其他不同的内容。下面是一个示例,演示它的工作原理。您的页面中必须有其他不同的内容。
<script>
function topHint(){
if (document.getElementById('item4_0_radio').checked) {
document.getElementById('employorlance').innerHTML =
"Please use your school e-mail address.";
}
else {
document.getElementById('employorlance').innerHTML =
"Please use your company e-mail address.";
}
}
</script>