来自其他输入的Javascript调用值

时间:2012-12-10 12:45:48

标签: javascript html

我有以下代码:

<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")中的值。我怎么能这样做?

3 个答案:

答案 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,则不会产生任何问题......