简体   繁体   English

传递给函数后,在Javascript中更改Labels值

[英]Changing a Labels value in Javascript after being passed into a function

I am trying to make a function for java script that evaluates the text within a form and updates a label next to the form with either Valid entry or Invalid entry. 我正在尝试为Java脚本创建一个函数,该函数可评估表单中的文本并使用有效条目或无效条目更新表单旁边的标签。

I have the code working here so far 到目前为止,我的代码在这里工作

function validateText(form) {       

if(form.value == '') {
  document.getElementById("reasonLabel").innerHTML =  "Invalid Entry";
  return false;
}
else{document.getElementById("reasonLabel").innerHTML =  "Invalid Entry";}

var re = /^[\w ]+$/;

if(!re.test(form.value)) {
  document.getElementById("reasonLabel").innerHTML =  "Invalid Entry";
  return false;
}

document.getElementById("reasonLabel").innerHTML =  "Valid Entry";
return true; }

However I want to use this function and apply it to all forms inside my html each form has a corresponding label next to it. 但是我想使用此功能并将其应用于html内的所有表单,每个表单旁边都有一个相应的标签。

My question is how do I pass in a label and edit its value without using .getElementByID() 我的问题是如何在不使用.getElementByID()的情况下传递标签并编辑其值

Sorry if this is an obvious question I am very new to javascript. 抱歉,如果这是一个明显的问题,我对javascript很陌生。

可以将标签的DOM对象(从getElementByID返回)作为参数传递,就像其他任何值一样。

If you have the label (which had to have been gotten using document.getElementById() or something similar in the first place), you can use it as a normal variable, like in the following: 如果您有标签(首先必须使用document.getElementById()或类似的标签来获得),则可以将其用作普通变量,如下所示:

function validateText(form, label) {       

    if(form.value == '') {            
        label.innerHTML =  "Invalid Entry";
        return false;                 
    }                                 
    else{                             
        label.innerHTML =  "Invalid Entry";
    }                                 

    var re = /^[\w ]+$/;              

    if(!re.test(form.value)) {        
        label.innerHTML =  "Invalid Entry";
        return false;                 
    }                                 

    label.innerHTML =  "Valid Entry"; 
    return true;                      
}                                     

Then label could be gotten by passing something like document.getElementById("reasonLabel") into the function. 然后可以通过将诸如document.getElementById("reasonLabel")类的document.getElementById("reasonLabel")传递给函数来获得label

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM