我有以下代码:
<form>
<input type="text" id="field1" name="field1" value="first value" />
<input type="text" id="field2" onkeyup="showRSS(this.value, this.alt)" value="" alt="test">
</form>
在showRSS()
onkeyup函数中,我需要调用第一个输入字段(id="field1"
)中的值。我怎么能这样做?
答案 0 :(得分:2)
将其ID与document.getElementById()
:
所以如果你想将它作为第三个参数传递给showRSS()
:
<input type="text" id="field2" onkeyup="showRSS(this.value, this.alt, document.getElementById('field1').value)" value="" alt="test">
或者,如果您想从showRss()
内获取它:
function showRSS( ... )
{
var field1 = document.getElementById('field1').value;
}
答案 1 :(得分:0)
如果您想获取特定文本框的值,您可以在函数中迭代它们,并根据其名称获取所需的值。首先,在第二个文本框中添加一个名称,然后输入以下代码:
function showRSS() {
var oForm = document.forms[0]; //assuming only one form
var desiredInputNames = { "field1": "", "field2": "" }; //names of elements to read
for (var i = 0; i < oForm.elements.length; i++) {
var element = oForm.elements[i];
if (desiredInputNames[element.name]) {
var value = element.value;
//handle the current value
}
}
}
(使用关联数组而不是普通数组以便更好地搜索)
答案 2 :(得分:0)
使用以下代码执行此操作...
<form>
<input type="text" id="field1" name="field1" value="first value" />
<input type="text" id="field2" onkeyup="showRSS(this.value, this.alt, this.parentNode.getElementsByName('field1')[0].value)" value="" alt="test">
</form>
如果您在field1
代码之外使用name
作为form
,则不会产生任何问题......