Javascript 动态访问java脚本中的表单元素
我需要在javascript函数中动态获取一个表单变量,该函数接受表单中要访问的表单和元素名的参数 比如说,我将调用一些按钮单击,如下面的Javascript 动态访问java脚本中的表单元素,javascript,html,forms,Javascript,Html,Forms,我需要在javascript函数中动态获取一个表单变量,该函数接受表单中要访问的表单和元素名的参数 比如说,我将调用一些按钮单击,如下面的onClick=“javascript:init(this.form,'USERNAME')” 如果我这样做:document.getElementById(formName.USERNAME.value.这很有效。但是,我不必直接给出元素名。我想从传递的参数中读取它 因此,如果我按如下方式执行:document.getElementById(formName
onClick=“javascript:init(this.form,'USERNAME')”
如果我这样做:document.getElementById(formName.USERNAME.value.
这很有效。但是,我不必直接给出元素名。我想从传递的参数中读取它
因此,如果我按如下方式执行:document.getElementById(formName).elem.value
——这会给出一个异常,表示无法获取未定义的值
function init(form, elem){
try{
var formName = form.name;
var elementValue = document.getElementById(formName).elem.value;
..
}catch(e){
alert(e.message);
}
}
请推荐我。如何获取传递的元素值。提前谢谢 在您的情况下,为了访问对象的属性,可以使用以下符号:
something[elem].value
考虑以下代码:
var prop = "a",
obj = {a: 1};
obj.a === obj["a"] === obj[prop];
然后,您的代码将如下所示:
function init(form, elem){
try {
var formName = form.name,
elementValue = document.getElementById(formName)[elem].value;
// ...
} catch(e) {
alert(e.message);
}
}
}
制作一个按钮,将值传递给javascript。该按钮将获取值(例如:来自文本框)并将其传递给javascript 所以
它可能应该是var elementValue=document.getElementById(formName)[elem].value谢谢杰夫!是的,你的建议很有道理。我也会这样做。谢谢
<input name="textbox1" id="textbox1" type="text" />
<input name="buttonExecute" onclick="init(document.getElementById('textbox1').value)" type="button" value="Execute" />